Nilai ini memiliki tujuan ganda:
- Ini adalah fungsi yang dapat dipanggil untuk membuat nilai yang menyerupai 'struct':
DataInfo = provider() d = DataInfo(x = 2, y = 3) print(d.x + d.y) # prints 5
Catatan: Beberapa penyedia, yang didefinisikan secara internal, tidak mengizinkan pembuatan instance - Ini adalah kunci untuk mengakses instance penyedia di Target
DataInfo = provider() def _rule_impl(ctx) ... ctx.attr.dep[DataInfo]
Provider
baru menggunakan fungsi penyedia.