OxL Справочник OxL
РусскийEnglish

@ @repr

@repr(W)

Применяется к: тип, поле

Раздел: §9.3–9.5

Синтаксис

ebnf
Attr        = "@" Path [ "(" [ AttrArgs ] ")" ] ;

Грамматика: Прил. A

Определяется в

  • 9.3 Wire-формат OxL — Бинарный формат OxL — кодирование protobuf 3 со следующими отображениями
  • 4.9 Атрибуты — Синтаксис: @имя или @имя(аргументы) перед объявлением, полем, параметром или rpc.
  • 9.5 Пользовательские сериализаторы — Уровень 1 — представление через другой тип (Repr), действует во всех форматах и в схемах

Примеры

oxl
@repr(i64)
data Money { minor: i64 }

impl Repr<i64> for Money {
  fn toRepr() -> i64 => minor
  static fn fromRepr(v: i64) -> Money | DecodeError => Money{ minor: v }
}

— 9.5 Пользовательские сериализаторы

Связанные диагностики

secret-json, deprecated, schema-attr

См. также