kw attr
Зарезервированное слово
Список слов: §1.4
Синтаксис
AttrDecl = "attr" Ident "{" { Field } "}" ;Грамматика: Прил. A
Определяется в
- 15.4 Пользовательские атрибуты и генерация кода — attr Имя { поля } объявляет атрибут; comptime fn Имя.apply(d
- 4.9 Атрибуты — Синтаксис: @имя или @имя(аргументы) перед объявлением, полем, параметром или rpc.
- 10.2 Атрибуты rpc — Значения по умолчанию для всех rpc задаются в cluster { defaults { …
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
- 9.4 Декодирование и проверка — Отсутствует обязательное поле → DecodeError.Missing.
Примеры
attr Audit { level: Level = Level.Info }
comptime fn Audit.apply(d: Decl, a: Audit) -> Decl | CompileError {
d.wrapBody(body => quote { log.at($a.level, "call {$d.name}"); $body })
}— 15.4 Пользовательские атрибуты и генерация кода
Связанные диагностики
deprecated, attribute-not-applicable, cache-not-readonly, invalid-window, retry-not-idempotent, rpc-attr