4.9 Атрибуты
- Синтаксис:
@имяили@имя(аргументы)перед объявлением, полем, параметром илиrpc. Порядок атрибутов не важен. - Аргументы атрибутов — comptime-выражения: литералы,
const, вызовы comptime-функций. Поэтому@timeout(STD_TIMEOUT)допустим и рекомендован (часть IV). - Некоторые атрибуты принимают лямбду над параметрами (
@idempotent(key: r => r.cartId)) или путь к полю (@owner(.userId)); это указано в описании атрибута. - Пользовательский атрибут:
attr Audit { level: Level = Level.Info }+ comptime-обработчик (§15.4).
Встроенные атрибуты: @derive @sealed @explicit @open @error @reflect @since @removed @tag @v @codec @repr @table @pk @auto @index @shard @owner @visible @encrypted @public @allow @timeout @retry @deadline @cache @ratelimit @idempotent @resumable @trace @audit @idle @near @pinned @test_only @deprecated @inline @cold. Семантика каждого — в разделе, где он вводится; сводная таблица — в части II.
Связанные диагностики
См. также
Исходник: docs/spec/oxl-standard.md