serde_core/private/content.rs
1use crate::lib::*;
2
3// Used from generated code to buffer the contents of the Deserializer when
4// deserializing untagged enums and internally tagged enums.
5//
6// Not public API. Use serde-value instead.
7//
8// Obsoleted by format-specific buffer types (https://github.com/serde-rs/serde/pull/2912).
9#[doc(hidden)]
10pub enum Content<'de> {
11 Bool(bool),
12
13 U8(u8),
14 U16(u16),
15 U32(u32),
16 U64(u64),
17
18 I8(i8),
19 I16(i16),
20 I32(i32),
21 I64(i64),
22
23 F32(f32),
24 F64(f64),
25
26 Char(char),
27 String(String),
28 Str(&'de str),
29 ByteBuf(Vec<u8>),
30 Bytes(&'de [u8]),
31
32 None,
33 Some(Box<Content<'de>>),
34
35 Unit,
36 Newtype(Box<Content<'de>>),
37 Seq(Vec<Content<'de>>),
38 Map(Vec<(Content<'de>, Content<'de>)>),
39}