mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-11 22:01:04 +00:00
Change de::VariantVisitor to let deserializers know the variant kind
This allows formats like cbor that encode a unit variant as just a string to work. [breaking-change]
This commit is contained in:
@@ -417,7 +417,7 @@ fn deserialize_variant(
|
||||
match variant.node.kind {
|
||||
ast::TupleVariantKind(ref args) if args.is_empty() => {
|
||||
quote_expr!(cx, {
|
||||
try!(visitor.visit_value(::serde::de::impls::UnitVisitor));
|
||||
try!(visitor.visit_unit());
|
||||
Ok($type_ident::$variant_ident)
|
||||
})
|
||||
}
|
||||
@@ -482,7 +482,7 @@ fn deserialize_tuple_variant(
|
||||
}
|
||||
}
|
||||
|
||||
visitor.visit_value($visitor_expr)
|
||||
visitor.visit_seq($visitor_expr)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -524,7 +524,7 @@ fn deserialize_struct_variant(
|
||||
}
|
||||
}
|
||||
|
||||
visitor.visit_value($visitor_expr)
|
||||
visitor.visit_map($visitor_expr)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user