Patch up codegen
This commit is contained in:
parent
d8f0c6aa5d
commit
0a20c76eb0
|
@ -106,7 +106,7 @@ pub fn gen_definition_reader(m: &mut ModuleContext, n: &str, d: &Definition) {
|
|||
seq![ctxt.m.any_type(), ": _support::preserves::value::NestedValue"],
|
||||
seq!["_Dec: _support::DomainDecode<", ctxt.m.any_type(), "::Embedded>"],
|
||||
"_R: _support::Reader<'de>"],
|
||||
seq!["(r: &mut _support::preserves::value::ConfiguredReader<'de, ", ctxt.m.any_type(), ", _Dec, _R>) -> "],
|
||||
seq!["(r: &mut _support::preserves::value::ConfiguredReader<'de, ", ctxt.m.any_type(), ", _R, _Dec>) -> "],
|
||||
"std::result::Result<",
|
||||
names::render_constructor(n), ty.generic_arg(ctxt.m),
|
||||
", _support::ParseError> ",
|
||||
|
@ -143,15 +143,18 @@ pub fn gen_definition_reader(m: &mut ModuleContext, n: &str, d: &Definition) {
|
|||
|
||||
item(seq![
|
||||
"impl", anglebrackets![
|
||||
"'de",
|
||||
seq![ctxt.m.any_type(), ": _support::preserves::value::NestedValue"],
|
||||
seq!["_Dec: _support::DomainDecode<", ctxt.m.any_type(), "::Embedded>"],
|
||||
"_R: _support::Reader<'de>"], " ",
|
||||
"_support::Deserialize", anglebrackets!["'de", ctxt.m.any_type(), "_Dec", "_R"], " ",
|
||||
seq![ctxt.m.any_type(), ": _support::preserves::value::NestedValue"]], " ",
|
||||
"_support::Deserialize", anglebrackets![ctxt.m.any_type()], " ",
|
||||
"for ", names::render_constructor(n), ty.generic_arg(ctxt.m), " ", codeblock![
|
||||
seq!["fn deserialize(r: &mut _support::preserves::value::ConfiguredReader<'de, ", ctxt.m.any_type(), ", _Dec, _R>) -> ",
|
||||
"std::result::Result<Self, _support::ParseError> ",
|
||||
codeblock(body)]]])
|
||||
seq![
|
||||
"fn deserialize",
|
||||
vertical(false, anglebrackets![
|
||||
"'de",
|
||||
seq!["_Dec: _support::DomainDecode<", ctxt.m.any_type(), "::Embedded>"],
|
||||
"_R: _support::Reader<'de>"]),
|
||||
"(r: &mut _support::preserves::value::ConfiguredReader<'de, ", ctxt.m.any_type(), ", _R, _Dec>) -> ",
|
||||
"std::result::Result<Self, _support::ParseError> ",
|
||||
codeblock(body)]]])
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -62,9 +62,27 @@ impl compiler::Plugin for TypePlugin {
|
|||
if let ModuleContextMode::TargetGeneric = m.mode {
|
||||
let ty = definition_type(&m.module_path, n, d);
|
||||
m.define_type(item(ty.render(m, n)));
|
||||
m.define_type(item(seq![
|
||||
"impl", ty.generic_decl(m), " _support::preserves::value::Domain for ",
|
||||
names::render_constructor(n), ty.generic_arg(m), " {}"]));
|
||||
if ty.has_embedded(m.bundle) {
|
||||
m.define_type(item(
|
||||
vertical(false, seq![
|
||||
seq!["impl<", m.any_type(), "> _support::preserves::value::Domain for ",
|
||||
names::render_constructor(n), ty.generic_arg(m)],
|
||||
seq!["where for<'value> ", m.any_type(),
|
||||
": _support::preserves::value::NestedValue<Embedded = ",
|
||||
names::render_constructor(n), ty.generic_arg(m), "> + 'value"],
|
||||
codeblock![
|
||||
seq!["type Decode = _support::SchemaDomainCodec<", m.any_type(), ">;"],
|
||||
seq!["type Encode = _support::SchemaDomainCodec<", m.any_type(), ">;"]
|
||||
]])));
|
||||
} else {
|
||||
m.define_type(item(seq![
|
||||
"impl", ty.generic_decl(m), " _support::preserves::value::Domain for ",
|
||||
names::render_constructor(n), ty.generic_arg(m), " ",
|
||||
codeblock![
|
||||
seq!["type Decode = _support::SchemaDomainCodec<_support::preserves::value::PlainValue<", names::render_constructor(n), ty.generic_arg(m), ">>;"],
|
||||
seq!["type Encode = _support::SchemaDomainCodec<_support::preserves::value::PlainValue<", names::render_constructor(n), ty.generic_arg(m), ">>;"]
|
||||
]]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -146,10 +146,10 @@ fn read_atom_kind_symbol<
|
|||
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for AtomKind {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
let _mark = r.reader.mark()?;
|
||||
match read_atom_kind_boolean(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
match read_atom_kind_float(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
|
@ -278,8 +278,7 @@ pub struct Binding<
|
|||
}
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for Binding<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Binding<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Binding<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
|
@ -287,10 +286,10 @@ where
|
|||
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for Binding<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
r.reader.open_record()?;
|
||||
let mut _tmp0 = _support::B::Type::default();
|
||||
_tmp0.shift(Some(_support::B::Item::RecordLabel));
|
||||
|
@ -354,20 +353,18 @@ pub struct Bundle<
|
|||
}
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for Bundle<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Bundle<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Bundle<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
}
|
||||
|
||||
impl< _Value: _support::preserves::value::NestedValue,
|
||||
> _support::Deserialize<_Value> for Bundle<_Value> {
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for Bundle<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
r.reader.open_record()?;
|
||||
let mut _tmp0 = _support::B::Type::default();
|
||||
_tmp0.shift(Some(_support::B::Item::RecordLabel));
|
||||
|
@ -439,8 +436,7 @@ pub enum CompoundPattern<
|
|||
}
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for CompoundPattern<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = CompoundPattern<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = CompoundPattern<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
|
@ -570,13 +566,12 @@ fn read_compound_pattern_dict<
|
|||
Ok(CompoundPattern::Dict {entries: std::boxed::Box::new(_tmp2)})
|
||||
}
|
||||
|
||||
impl< _Value: _support::preserves::value::NestedValue,
|
||||
> _support::Deserialize<_Value> for CompoundPattern<_Value> {
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for CompoundPattern<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
let _mark = r.reader.mark()?;
|
||||
match read_compound_pattern_rec(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
match read_compound_pattern_tuple(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
|
@ -733,8 +728,7 @@ pub enum Definition<
|
|||
}
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for Definition<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Definition<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Definition<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
|
@ -838,13 +832,12 @@ fn read_definition_pattern<
|
|||
Ok(Definition::Pattern(std::boxed::Box::new(_tmp0)))
|
||||
}
|
||||
|
||||
impl< _Value: _support::preserves::value::NestedValue,
|
||||
> _support::Deserialize<_Value> for Definition<_Value> {
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for Definition<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
let _mark = r.reader.mark()?;
|
||||
match read_definition_or(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
match read_definition_and(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
|
@ -973,20 +966,18 @@ pub struct Definitions<
|
|||
>(pub _support::preserves::value::Map<std::string::String, Definition<_Value>>);
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for Definitions<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Definitions<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Definitions<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
}
|
||||
|
||||
impl< _Value: _support::preserves::value::NestedValue,
|
||||
> _support::Deserialize<_Value> for Definitions<_Value> {
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for Definitions<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
r.reader.open_dictionary()?;
|
||||
let mut _tmp2 = _support::B::Type::default();
|
||||
let mut _tmp1 = _support::preserves::value::Map::new();
|
||||
|
@ -1037,20 +1028,18 @@ pub struct DictionaryEntries<
|
|||
>(pub _support::preserves::value::Map<_Value, NamedSimplePattern<_Value>>);
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for DictionaryEntries<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = DictionaryEntries<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = DictionaryEntries<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
}
|
||||
|
||||
impl< _Value: _support::preserves::value::NestedValue,
|
||||
> _support::Deserialize<_Value> for DictionaryEntries<_Value> {
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for DictionaryEntries<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
r.reader.open_dictionary()?;
|
||||
let mut _tmp2 = _support::B::Type::default();
|
||||
let mut _tmp1 = _support::preserves::value::Map::new();
|
||||
|
@ -1135,10 +1124,10 @@ fn read_embedded_type_name_false<
|
|||
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for EmbeddedTypeName {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
let _mark = r.reader.mark()?;
|
||||
match read_embedded_type_name_ref(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
match read_embedded_type_name_false(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
|
@ -1200,10 +1189,10 @@ impl _support::preserves::value::Domain for ModulePath {
|
|||
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for ModulePath {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
r.reader.open_sequence()?;
|
||||
let mut _tmp2 = _support::B::Type::default();
|
||||
let mut _tmp1 = std::vec::Vec::new();
|
||||
|
@ -1257,20 +1246,18 @@ pub struct Modules<
|
|||
>(pub _support::preserves::value::Map<ModulePath, Schema<_Value>>);
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for Modules<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Modules<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Modules<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
}
|
||||
|
||||
impl< _Value: _support::preserves::value::NestedValue,
|
||||
> _support::Deserialize<_Value> for Modules<_Value> {
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for Modules<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
r.reader.open_dictionary()?;
|
||||
let mut _tmp2 = _support::B::Type::default();
|
||||
let mut _tmp1 = _support::preserves::value::Map::new();
|
||||
|
@ -1324,20 +1311,18 @@ pub struct NamedAlternative<
|
|||
}
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for NamedAlternative<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = NamedAlternative<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = NamedAlternative<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
}
|
||||
|
||||
impl< _Value: _support::preserves::value::NestedValue,
|
||||
> _support::Deserialize<_Value> for NamedAlternative<_Value> {
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for NamedAlternative<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
r.reader.open_sequence()?;
|
||||
let mut _tmp0 = _support::B::Type::default();
|
||||
_tmp0.shift(Some(_support::B::Item::SequenceValue));
|
||||
|
@ -1390,8 +1375,7 @@ pub enum NamedPattern<
|
|||
}
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for NamedPattern<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = NamedPattern<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = NamedPattern<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
|
@ -1417,13 +1401,12 @@ fn read_named_pattern_anonymous<
|
|||
Ok(NamedPattern::Anonymous(std::boxed::Box::new(_tmp0)))
|
||||
}
|
||||
|
||||
impl< _Value: _support::preserves::value::NestedValue,
|
||||
> _support::Deserialize<_Value> for NamedPattern<_Value> {
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for NamedPattern<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
let _mark = r.reader.mark()?;
|
||||
match read_named_pattern_named(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
match read_named_pattern_anonymous(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
|
@ -1483,8 +1466,7 @@ pub enum NamedSimplePattern<
|
|||
}
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for NamedSimplePattern<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = NamedSimplePattern<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = NamedSimplePattern<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
|
@ -1510,13 +1492,12 @@ fn read_named_simple_pattern_anonymous<
|
|||
Ok(NamedSimplePattern::Anonymous(std::boxed::Box::new(_tmp0)))
|
||||
}
|
||||
|
||||
impl< _Value: _support::preserves::value::NestedValue,
|
||||
> _support::Deserialize<_Value> for NamedSimplePattern<_Value> {
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for NamedSimplePattern<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
let _mark = r.reader.mark()?;
|
||||
match read_named_simple_pattern_named(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
match read_named_simple_pattern_anonymous(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
|
@ -1576,8 +1557,7 @@ pub enum Pattern<
|
|||
}
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for Pattern<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Pattern<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Pattern<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
|
@ -1603,13 +1583,12 @@ fn read_pattern_compound_pattern<
|
|||
Ok(Pattern::CompoundPattern(std::boxed::Box::new(_tmp0)))
|
||||
}
|
||||
|
||||
impl< _Value: _support::preserves::value::NestedValue,
|
||||
> _support::Deserialize<_Value> for Pattern<_Value> {
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for Pattern<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
let _mark = r.reader.mark()?;
|
||||
match read_pattern_simple_pattern(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
match read_pattern_compound_pattern(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
|
@ -1673,10 +1652,10 @@ impl _support::preserves::value::Domain for Ref {
|
|||
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for Ref {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
r.reader.open_record()?;
|
||||
let mut _tmp0 = _support::B::Type::default();
|
||||
_tmp0.shift(Some(_support::B::Item::RecordLabel));
|
||||
|
@ -1742,20 +1721,18 @@ pub struct Schema<
|
|||
}
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for Schema<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Schema<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = Schema<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
}
|
||||
|
||||
impl< _Value: _support::preserves::value::NestedValue,
|
||||
> _support::Deserialize<_Value> for Schema<_Value> {
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for Schema<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
r.reader.open_record()?;
|
||||
let mut _tmp0 = _support::B::Type::default();
|
||||
_tmp0.shift(Some(_support::B::Item::RecordLabel));
|
||||
|
@ -1901,8 +1878,7 @@ pub enum SimplePattern<
|
|||
}
|
||||
|
||||
impl<_Value> _support::preserves::value::Domain for SimplePattern<_Value>
|
||||
where
|
||||
for<'value> _Value: _support::preserves::value::NestedValue<Embedded = SimplePattern<_Value>> + 'value
|
||||
where for<'value> _Value: _support::preserves::value::NestedValue<Embedded = SimplePattern<_Value>> + 'value
|
||||
{
|
||||
type Decode = _support::SchemaDomainCodec<_Value>;
|
||||
type Encode = _support::SchemaDomainCodec<_Value>;
|
||||
|
@ -2088,13 +2064,12 @@ fn read_simple_pattern_ref<
|
|||
Ok(SimplePattern::Ref(std::boxed::Box::new(_tmp0)))
|
||||
}
|
||||
|
||||
impl< _Value: _support::preserves::value::NestedValue,
|
||||
> _support::Deserialize<_Value> for SimplePattern<_Value> {
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for SimplePattern<_Value> {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
let _mark = r.reader.mark()?;
|
||||
match read_simple_pattern_any(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
match read_simple_pattern_atom(r) { Err(e) if e.is_conformance_error() => r.reader.restore(&_mark)?, result => return result }
|
||||
|
@ -2278,10 +2253,10 @@ impl _support::preserves::value::Domain for Version {
|
|||
|
||||
impl<_Value: _support::preserves::value::NestedValue> _support::Deserialize<_Value> for Version {
|
||||
fn deserialize<
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
'de,
|
||||
_Dec: _support::DomainDecode<_Value::Embedded>,
|
||||
_R: _support::Reader<'de>
|
||||
>(r: &mut _support::preserves::value::ConfiguredReader<'de, _Value, _R, _Dec>) -> std::result::Result<Self, _support::ParseError> {
|
||||
match r.next_token()? {
|
||||
_support::preserves::value::Token::Atom(v) => match v.value() {
|
||||
_support::preserves::value::Value::SignedInteger(w) if *w == (1).into() => {}
|
||||
|
|
Loading…
Reference in New Issue