9.4 Декодирование и проверка
- Отсутствует обязательное поле →
DecodeError.Missing. - Значение не проходит инвариант уточнённого типа или
invariant→DecodeError.Invalid. - Неизвестные поля пропускаются; при
@preserve_unknownна типе — сохраняются и записываются обратно при повторной сериализации.@preserve_unknownдопустим только наdata(иначе ошибка компиляцииschema-attr) и действует только в бинарном формате OxL: сохранённые необработанные записи (тег и значение) пишутся после известных полей в порядке чтения; JSON, MessagePack и CBOR неизвестные поля не читают и не пишут. Вложенные сообщения хранят свои неизвестные поля, если у них есть атрибут. Сохранённые поля не участвуют в==, хеше иShow(D-8053; DIV-005; D-7610). - Неизвестный вариант
@openenum отображается в автоматический вариантUnknown(tag: u32). - В rpc ошибка декодирования запроса возвращается клиенту как
ProtocolError.InvalidArgument; обработчик не вызывается.
См. также
Исходник: docs/spec/oxl-standard.md