mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-13 09:01:01 +00:00
Accept integers variant encoding in Content
This allows ContentDeserializer and ContentRefDeserializer to deserialize unsigned integers in deserialize_identifier, and furthermore allows enums inside untagged enums to be correctly decoded in formats which encode the enum variant as an integer. Fixes https://github.com/serde-rs/serde/issues/1437.
This commit is contained in:
@@ -1419,6 +1419,10 @@ mod content {
|
|||||||
Content::Str(v) => visitor.visit_borrowed_str(v),
|
Content::Str(v) => visitor.visit_borrowed_str(v),
|
||||||
Content::ByteBuf(v) => visitor.visit_byte_buf(v),
|
Content::ByteBuf(v) => visitor.visit_byte_buf(v),
|
||||||
Content::Bytes(v) => visitor.visit_borrowed_bytes(v),
|
Content::Bytes(v) => visitor.visit_borrowed_bytes(v),
|
||||||
|
Content::U8(v) => visitor.visit_u8(v),
|
||||||
|
Content::U16(v) => visitor.visit_u16(v),
|
||||||
|
Content::U32(v) => visitor.visit_u32(v),
|
||||||
|
Content::U64(v) => visitor.visit_u64(v),
|
||||||
_ => Err(self.invalid_type(&visitor)),
|
_ => Err(self.invalid_type(&visitor)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2121,6 +2125,10 @@ mod content {
|
|||||||
Content::Str(v) => visitor.visit_borrowed_str(v),
|
Content::Str(v) => visitor.visit_borrowed_str(v),
|
||||||
Content::ByteBuf(ref v) => visitor.visit_bytes(v),
|
Content::ByteBuf(ref v) => visitor.visit_bytes(v),
|
||||||
Content::Bytes(v) => visitor.visit_borrowed_bytes(v),
|
Content::Bytes(v) => visitor.visit_borrowed_bytes(v),
|
||||||
|
Content::U8(v) => visitor.visit_u8(v),
|
||||||
|
Content::U16(v) => visitor.visit_u16(v),
|
||||||
|
Content::U32(v) => visitor.visit_u32(v),
|
||||||
|
Content::U64(v) => visitor.visit_u64(v),
|
||||||
_ => Err(self.invalid_type(&visitor)),
|
_ => Err(self.invalid_type(&visitor)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user