mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-13 17:11:02 +00:00
Format doctests using rustfmt's format_code_in_doc_comments
cargo fmt -- --config format_code_in_doc_comments=true
This commit is contained in:
+7
-8
@@ -465,7 +465,10 @@ impl<'a> fmt::Display for Unexpected<'a> {
|
|||||||
/// # E: de::Error,
|
/// # E: de::Error,
|
||||||
/// # {
|
/// # {
|
||||||
/// # let v = true;
|
/// # let v = true;
|
||||||
/// return Err(de::Error::invalid_type(Unexpected::Bool(v), &"a negative integer"));
|
/// return Err(de::Error::invalid_type(
|
||||||
|
/// Unexpected::Bool(v),
|
||||||
|
/// &"a negative integer",
|
||||||
|
/// ));
|
||||||
/// # }
|
/// # }
|
||||||
/// ```
|
/// ```
|
||||||
pub trait Expected {
|
pub trait Expected {
|
||||||
@@ -709,7 +712,7 @@ impl<T> DeserializeOwned for T where T: for<'de> Deserialize<'de> {}
|
|||||||
/// {
|
/// {
|
||||||
/// // Decrease the number of reallocations if there are many elements
|
/// // Decrease the number of reallocations if there are many elements
|
||||||
/// if let Some(size_hint) = seq.size_hint() {
|
/// if let Some(size_hint) = seq.size_hint() {
|
||||||
/// self.0.reserve(size_hint);
|
/// self.0.reserve(size_hint);
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// // Visit each element in the inner array and push it onto
|
/// // Visit each element in the inner array and push it onto
|
||||||
@@ -2148,11 +2151,7 @@ pub trait VariantAccess<'de>: Sized {
|
|||||||
/// # T: DeserializeSeed<'de>,
|
/// # T: DeserializeSeed<'de>,
|
||||||
/// # { unimplemented!() }
|
/// # { unimplemented!() }
|
||||||
/// #
|
/// #
|
||||||
/// fn tuple_variant<V>(
|
/// fn tuple_variant<V>(self, _len: usize, _visitor: V) -> Result<V::Value, Self::Error>
|
||||||
/// self,
|
|
||||||
/// _len: usize,
|
|
||||||
/// _visitor: V,
|
|
||||||
/// ) -> Result<V::Value, Self::Error>
|
|
||||||
/// where
|
/// where
|
||||||
/// V: Visitor<'de>,
|
/// V: Visitor<'de>,
|
||||||
/// {
|
/// {
|
||||||
@@ -2239,9 +2238,9 @@ pub trait VariantAccess<'de>: Sized {
|
|||||||
/// # Example
|
/// # Example
|
||||||
///
|
///
|
||||||
/// ```edition2021
|
/// ```edition2021
|
||||||
/// use std::str::FromStr;
|
|
||||||
/// use serde::de::{value, Deserialize, IntoDeserializer};
|
/// use serde::de::{value, Deserialize, IntoDeserializer};
|
||||||
/// use serde_derive::Deserialize;
|
/// use serde_derive::Deserialize;
|
||||||
|
/// use std::str::FromStr;
|
||||||
///
|
///
|
||||||
/// #[derive(Deserialize)]
|
/// #[derive(Deserialize)]
|
||||||
/// enum Setting {
|
/// enum Setting {
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
//! trait.
|
//! trait.
|
||||||
//!
|
//!
|
||||||
//! ```edition2021
|
//! ```edition2021
|
||||||
//! use std::str::FromStr;
|
|
||||||
//! use serde_derive::Deserialize;
|
|
||||||
//! use serde::de::{value, Deserialize, IntoDeserializer};
|
//! use serde::de::{value, Deserialize, IntoDeserializer};
|
||||||
|
//! use serde_derive::Deserialize;
|
||||||
|
//! use std::str::FromStr;
|
||||||
//!
|
//!
|
||||||
//! #[derive(Deserialize)]
|
//! #[derive(Deserialize)]
|
||||||
//! enum Setting {
|
//! enum Setting {
|
||||||
|
|||||||
+9
-13
@@ -969,7 +969,7 @@ pub trait Serializer: Sized {
|
|||||||
/// # }
|
/// # }
|
||||||
/// # }
|
/// # }
|
||||||
/// #
|
/// #
|
||||||
/// use serde::ser::{Serialize, Serializer, SerializeSeq};
|
/// use serde::ser::{Serialize, SerializeSeq, Serializer};
|
||||||
///
|
///
|
||||||
/// impl<T> Serialize for Vec<T>
|
/// impl<T> Serialize for Vec<T>
|
||||||
/// where
|
/// where
|
||||||
@@ -995,7 +995,7 @@ pub trait Serializer: Sized {
|
|||||||
/// then a call to `end`.
|
/// then a call to `end`.
|
||||||
///
|
///
|
||||||
/// ```edition2021
|
/// ```edition2021
|
||||||
/// use serde::ser::{Serialize, Serializer, SerializeTuple};
|
/// use serde::ser::{Serialize, SerializeTuple, Serializer};
|
||||||
///
|
///
|
||||||
/// # mod fool {
|
/// # mod fool {
|
||||||
/// # trait Serialize {}
|
/// # trait Serialize {}
|
||||||
@@ -1150,7 +1150,7 @@ pub trait Serializer: Sized {
|
|||||||
/// # }
|
/// # }
|
||||||
/// # }
|
/// # }
|
||||||
/// #
|
/// #
|
||||||
/// use serde::ser::{Serialize, Serializer, SerializeMap};
|
/// use serde::ser::{Serialize, SerializeMap, Serializer};
|
||||||
///
|
///
|
||||||
/// impl<K, V> Serialize for HashMap<K, V>
|
/// impl<K, V> Serialize for HashMap<K, V>
|
||||||
/// where
|
/// where
|
||||||
@@ -1370,9 +1370,7 @@ pub trait Serializer: Sized {
|
|||||||
/// where
|
/// where
|
||||||
/// S: Serializer,
|
/// S: Serializer,
|
||||||
/// {
|
/// {
|
||||||
/// serializer.collect_str(&format_args!("{:?}{:?}",
|
/// serializer.collect_str(&format_args!("{:?}{:?}", self.naive_local(), self.offset()))
|
||||||
/// self.naive_local(),
|
|
||||||
/// self.offset()))
|
|
||||||
/// }
|
/// }
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
@@ -1408,9 +1406,7 @@ pub trait Serializer: Sized {
|
|||||||
/// where
|
/// where
|
||||||
/// S: Serializer,
|
/// S: Serializer,
|
||||||
/// {
|
/// {
|
||||||
/// serializer.collect_str(&format_args!("{:?}{:?}",
|
/// serializer.collect_str(&format_args!("{:?}{:?}", self.naive_local(), self.offset()))
|
||||||
/// self.naive_local(),
|
|
||||||
/// self.offset()))
|
|
||||||
/// }
|
/// }
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
@@ -1496,7 +1492,7 @@ pub trait Serializer: Sized {
|
|||||||
/// # }
|
/// # }
|
||||||
/// # }
|
/// # }
|
||||||
/// #
|
/// #
|
||||||
/// use serde::ser::{Serialize, Serializer, SerializeSeq};
|
/// use serde::ser::{Serialize, SerializeSeq, Serializer};
|
||||||
///
|
///
|
||||||
/// impl<T> Serialize for Vec<T>
|
/// impl<T> Serialize for Vec<T>
|
||||||
/// where
|
/// where
|
||||||
@@ -1542,7 +1538,7 @@ pub trait SerializeSeq {
|
|||||||
/// # Example use
|
/// # Example use
|
||||||
///
|
///
|
||||||
/// ```edition2021
|
/// ```edition2021
|
||||||
/// use serde::ser::{Serialize, Serializer, SerializeTuple};
|
/// use serde::ser::{Serialize, SerializeTuple, Serializer};
|
||||||
///
|
///
|
||||||
/// # mod fool {
|
/// # mod fool {
|
||||||
/// # trait Serialize {}
|
/// # trait Serialize {}
|
||||||
@@ -1590,7 +1586,7 @@ pub trait SerializeSeq {
|
|||||||
/// # }
|
/// # }
|
||||||
/// # }
|
/// # }
|
||||||
/// #
|
/// #
|
||||||
/// use serde::ser::{Serialize, Serializer, SerializeTuple};
|
/// use serde::ser::{Serialize, SerializeTuple, Serializer};
|
||||||
///
|
///
|
||||||
/// # mod fool {
|
/// # mod fool {
|
||||||
/// # trait Serialize {}
|
/// # trait Serialize {}
|
||||||
@@ -1764,7 +1760,7 @@ pub trait SerializeTupleVariant {
|
|||||||
/// # }
|
/// # }
|
||||||
/// # }
|
/// # }
|
||||||
/// #
|
/// #
|
||||||
/// use serde::ser::{Serialize, Serializer, SerializeMap};
|
/// use serde::ser::{Serialize, SerializeMap, Serializer};
|
||||||
///
|
///
|
||||||
/// impl<K, V> Serialize for HashMap<K, V>
|
/// impl<K, V> Serialize for HashMap<K, V>
|
||||||
/// where
|
/// where
|
||||||
|
|||||||
+42
-27
@@ -19,14 +19,17 @@ use std::fmt::Debug;
|
|||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// let s = S { a: 0, b: 0 };
|
/// let s = S { a: 0, b: 0 };
|
||||||
/// assert_tokens(&s, &[
|
/// assert_tokens(
|
||||||
/// Token::Struct { name: "S", len: 2 },
|
/// &s,
|
||||||
/// Token::Str("a"),
|
/// &[
|
||||||
/// Token::U8(0),
|
/// Token::Struct { name: "S", len: 2 },
|
||||||
/// Token::Str("b"),
|
/// Token::Str("a"),
|
||||||
/// Token::U8(0),
|
/// Token::U8(0),
|
||||||
/// Token::StructEnd,
|
/// Token::Str("b"),
|
||||||
/// ]);
|
/// Token::U8(0),
|
||||||
|
/// Token::StructEnd,
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
#[cfg_attr(not(no_track_caller), track_caller)]
|
#[cfg_attr(not(no_track_caller), track_caller)]
|
||||||
pub fn assert_tokens<'de, T>(value: &T, tokens: &'de [Token])
|
pub fn assert_tokens<'de, T>(value: &T, tokens: &'de [Token])
|
||||||
@@ -50,14 +53,17 @@ where
|
|||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// let s = S { a: 0, b: 0 };
|
/// let s = S { a: 0, b: 0 };
|
||||||
/// assert_ser_tokens(&s, &[
|
/// assert_ser_tokens(
|
||||||
/// Token::Struct { name: "S", len: 2 },
|
/// &s,
|
||||||
/// Token::Str("a"),
|
/// &[
|
||||||
/// Token::U8(0),
|
/// Token::Struct { name: "S", len: 2 },
|
||||||
/// Token::Str("b"),
|
/// Token::Str("a"),
|
||||||
/// Token::U8(0),
|
/// Token::U8(0),
|
||||||
/// Token::StructEnd,
|
/// Token::Str("b"),
|
||||||
/// ]);
|
/// Token::U8(0),
|
||||||
|
/// Token::StructEnd,
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
#[cfg_attr(not(no_track_caller), track_caller)]
|
#[cfg_attr(not(no_track_caller), track_caller)]
|
||||||
pub fn assert_ser_tokens<T: ?Sized>(value: &T, tokens: &[Token])
|
pub fn assert_ser_tokens<T: ?Sized>(value: &T, tokens: &[Token])
|
||||||
@@ -91,7 +97,9 @@ where
|
|||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// fn main() {
|
/// fn main() {
|
||||||
/// let example = Example { lock: Arc::new(Mutex::new(0)) };
|
/// let example = Example {
|
||||||
|
/// lock: Arc::new(Mutex::new(0)),
|
||||||
|
/// };
|
||||||
/// let lock = example.lock.clone();
|
/// let lock = example.lock.clone();
|
||||||
///
|
///
|
||||||
/// let _ = thread::spawn(move || {
|
/// let _ = thread::spawn(move || {
|
||||||
@@ -102,10 +110,14 @@ where
|
|||||||
/// // This panic while holding the lock (`_guard` is in scope) will
|
/// // This panic while holding the lock (`_guard` is in scope) will
|
||||||
/// // poison the mutex.
|
/// // poison the mutex.
|
||||||
/// panic!()
|
/// panic!()
|
||||||
/// }).join();
|
/// })
|
||||||
|
/// .join();
|
||||||
///
|
///
|
||||||
/// let expected = &[
|
/// let expected = &[
|
||||||
/// Token::Struct { name: "Example", len: 1 },
|
/// Token::Struct {
|
||||||
|
/// name: "Example",
|
||||||
|
/// len: 1,
|
||||||
|
/// },
|
||||||
/// Token::Str("lock"),
|
/// Token::Str("lock"),
|
||||||
/// ];
|
/// ];
|
||||||
/// let error = "lock poison error while serializing";
|
/// let error = "lock poison error while serializing";
|
||||||
@@ -141,14 +153,17 @@ where
|
|||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// let s = S { a: 0, b: 0 };
|
/// let s = S { a: 0, b: 0 };
|
||||||
/// assert_de_tokens(&s, &[
|
/// assert_de_tokens(
|
||||||
/// Token::Struct { name: "S", len: 2 },
|
/// &s,
|
||||||
/// Token::Str("a"),
|
/// &[
|
||||||
/// Token::U8(0),
|
/// Token::Struct { name: "S", len: 2 },
|
||||||
/// Token::Str("b"),
|
/// Token::Str("a"),
|
||||||
/// Token::U8(0),
|
/// Token::U8(0),
|
||||||
/// Token::StructEnd,
|
/// Token::Str("b"),
|
||||||
/// ]);
|
/// Token::U8(0),
|
||||||
|
/// Token::StructEnd,
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
#[cfg_attr(not(no_track_caller), track_caller)]
|
#[cfg_attr(not(no_track_caller), track_caller)]
|
||||||
pub fn assert_de_tokens<'de, T>(value: &T, tokens: &'de [Token])
|
pub fn assert_de_tokens<'de, T>(value: &T, tokens: &'de [Token])
|
||||||
|
|||||||
+21
-17
@@ -24,7 +24,7 @@
|
|||||||
//! # const IGNORE: &str = stringify! {
|
//! # const IGNORE: &str = stringify! {
|
||||||
//! use linked_hash_map::LinkedHashMap;
|
//! use linked_hash_map::LinkedHashMap;
|
||||||
//! # };
|
//! # };
|
||||||
//! use serde_test::{Token, assert_tokens};
|
//! use serde_test::{assert_tokens, Token};
|
||||||
//!
|
//!
|
||||||
//! # use std::fmt;
|
//! # use std::fmt;
|
||||||
//! # use std::marker::PhantomData;
|
//! # use std::marker::PhantomData;
|
||||||
@@ -106,10 +106,13 @@
|
|||||||
//! fn test_ser_de_empty() {
|
//! fn test_ser_de_empty() {
|
||||||
//! let map = LinkedHashMap::<char, u32>::new();
|
//! let map = LinkedHashMap::<char, u32>::new();
|
||||||
//!
|
//!
|
||||||
//! assert_tokens(&map, &[
|
//! assert_tokens(
|
||||||
//! Token::Map { len: Some(0) },
|
//! &map,
|
||||||
//! Token::MapEnd,
|
//! &[
|
||||||
//! ]);
|
//! Token::Map { len: Some(0) },
|
||||||
|
//! Token::MapEnd,
|
||||||
|
//! ],
|
||||||
|
//! );
|
||||||
//! }
|
//! }
|
||||||
//!
|
//!
|
||||||
//! #[test]
|
//! #[test]
|
||||||
@@ -120,18 +123,19 @@
|
|||||||
//! map.insert('a', 10);
|
//! map.insert('a', 10);
|
||||||
//! map.insert('c', 30);
|
//! map.insert('c', 30);
|
||||||
//!
|
//!
|
||||||
//! assert_tokens(&map, &[
|
//! assert_tokens(
|
||||||
//! Token::Map { len: Some(3) },
|
//! &map,
|
||||||
//! Token::Char('b'),
|
//! &[
|
||||||
//! Token::I32(20),
|
//! Token::Map { len: Some(3) },
|
||||||
//!
|
//! Token::Char('b'),
|
||||||
//! Token::Char('a'),
|
//! Token::I32(20),
|
||||||
//! Token::I32(10),
|
//! Token::Char('a'),
|
||||||
//!
|
//! Token::I32(10),
|
||||||
//! Token::Char('c'),
|
//! Token::Char('c'),
|
||||||
//! Token::I32(30),
|
//! Token::I32(30),
|
||||||
//! Token::MapEnd,
|
//! Token::MapEnd,
|
||||||
//! ]);
|
//! ],
|
||||||
|
//! );
|
||||||
//! }
|
//! }
|
||||||
//! #
|
//! #
|
||||||
//! # fn main() {
|
//! # fn main() {
|
||||||
|
|||||||
+128
-86
@@ -167,10 +167,7 @@ pub enum Token {
|
|||||||
/// # use serde_test::{assert_tokens, Token};
|
/// # use serde_test::{assert_tokens, Token};
|
||||||
/// #
|
/// #
|
||||||
/// let opt = Some('c');
|
/// let opt = Some('c');
|
||||||
/// assert_tokens(&opt, &[
|
/// assert_tokens(&opt, &[Token::Some, Token::Char('c')]);
|
||||||
/// Token::Some,
|
|
||||||
/// Token::Char('c'),
|
|
||||||
/// ]);
|
|
||||||
/// ```
|
/// ```
|
||||||
Some,
|
Some,
|
||||||
|
|
||||||
@@ -211,7 +208,13 @@ pub enum Token {
|
|||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// let a = E::A;
|
/// let a = E::A;
|
||||||
/// assert_tokens(&a, &[Token::UnitVariant { name: "E", variant: "A" }]);
|
/// assert_tokens(
|
||||||
|
/// &a,
|
||||||
|
/// &[Token::UnitVariant {
|
||||||
|
/// name: "E",
|
||||||
|
/// variant: "A",
|
||||||
|
/// }],
|
||||||
|
/// );
|
||||||
/// # }
|
/// # }
|
||||||
/// ```
|
/// ```
|
||||||
UnitVariant {
|
UnitVariant {
|
||||||
@@ -232,10 +235,10 @@ pub enum Token {
|
|||||||
/// struct N(String);
|
/// struct N(String);
|
||||||
///
|
///
|
||||||
/// let n = N("newtype".to_owned());
|
/// let n = N("newtype".to_owned());
|
||||||
/// assert_tokens(&n, &[
|
/// assert_tokens(
|
||||||
/// Token::NewtypeStruct { name: "N" },
|
/// &n,
|
||||||
/// Token::String("newtype"),
|
/// &[Token::NewtypeStruct { name: "N" }, Token::String("newtype")],
|
||||||
/// ]);
|
/// );
|
||||||
/// # }
|
/// # }
|
||||||
/// ```
|
/// ```
|
||||||
NewtypeStruct { name: &'static str },
|
NewtypeStruct { name: &'static str },
|
||||||
@@ -255,10 +258,16 @@ pub enum Token {
|
|||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// let b = E::B(0);
|
/// let b = E::B(0);
|
||||||
/// assert_tokens(&b, &[
|
/// assert_tokens(
|
||||||
/// Token::NewtypeVariant { name: "E", variant: "B" },
|
/// &b,
|
||||||
/// Token::U8(0),
|
/// &[
|
||||||
/// ]);
|
/// Token::NewtypeVariant {
|
||||||
|
/// name: "E",
|
||||||
|
/// variant: "B",
|
||||||
|
/// },
|
||||||
|
/// Token::U8(0),
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
/// # }
|
/// # }
|
||||||
/// ```
|
/// ```
|
||||||
NewtypeVariant {
|
NewtypeVariant {
|
||||||
@@ -275,13 +284,16 @@ pub enum Token {
|
|||||||
/// # use serde_test::{assert_tokens, Token};
|
/// # use serde_test::{assert_tokens, Token};
|
||||||
/// #
|
/// #
|
||||||
/// let vec = vec!['a', 'b', 'c'];
|
/// let vec = vec!['a', 'b', 'c'];
|
||||||
/// assert_tokens(&vec, &[
|
/// assert_tokens(
|
||||||
/// Token::Seq { len: Some(3) },
|
/// &vec,
|
||||||
/// Token::Char('a'),
|
/// &[
|
||||||
/// Token::Char('b'),
|
/// Token::Seq { len: Some(3) },
|
||||||
/// Token::Char('c'),
|
/// Token::Char('a'),
|
||||||
/// Token::SeqEnd,
|
/// Token::Char('b'),
|
||||||
/// ]);
|
/// Token::Char('c'),
|
||||||
|
/// Token::SeqEnd,
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
Seq { len: Option<usize> },
|
Seq { len: Option<usize> },
|
||||||
|
|
||||||
@@ -296,12 +308,15 @@ pub enum Token {
|
|||||||
/// # use serde_test::{assert_tokens, Token};
|
/// # use serde_test::{assert_tokens, Token};
|
||||||
/// #
|
/// #
|
||||||
/// let tuple = ('a', 100);
|
/// let tuple = ('a', 100);
|
||||||
/// assert_tokens(&tuple, &[
|
/// assert_tokens(
|
||||||
/// Token::Tuple { len: 2 },
|
/// &tuple,
|
||||||
/// Token::Char('a'),
|
/// &[
|
||||||
/// Token::I32(100),
|
/// Token::Tuple { len: 2 },
|
||||||
/// Token::TupleEnd,
|
/// Token::Char('a'),
|
||||||
/// ]);
|
/// Token::I32(100),
|
||||||
|
/// Token::TupleEnd,
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
Tuple { len: usize },
|
Tuple { len: usize },
|
||||||
|
|
||||||
@@ -322,12 +337,15 @@ pub enum Token {
|
|||||||
/// struct T(u8, u8);
|
/// struct T(u8, u8);
|
||||||
///
|
///
|
||||||
/// let t = T(0, 0);
|
/// let t = T(0, 0);
|
||||||
/// assert_tokens(&t, &[
|
/// assert_tokens(
|
||||||
/// Token::TupleStruct { name: "T", len: 2 },
|
/// &t,
|
||||||
/// Token::U8(0),
|
/// &[
|
||||||
/// Token::U8(0),
|
/// Token::TupleStruct { name: "T", len: 2 },
|
||||||
/// Token::TupleStructEnd,
|
/// Token::U8(0),
|
||||||
/// ]);
|
/// Token::U8(0),
|
||||||
|
/// Token::TupleStructEnd,
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
/// # }
|
/// # }
|
||||||
/// ```
|
/// ```
|
||||||
TupleStruct { name: &'static str, len: usize },
|
TupleStruct { name: &'static str, len: usize },
|
||||||
@@ -351,12 +369,19 @@ pub enum Token {
|
|||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// let c = E::C(0, 0);
|
/// let c = E::C(0, 0);
|
||||||
/// assert_tokens(&c, &[
|
/// assert_tokens(
|
||||||
/// Token::TupleVariant { name: "E", variant: "C", len: 2 },
|
/// &c,
|
||||||
/// Token::U8(0),
|
/// &[
|
||||||
/// Token::U8(0),
|
/// Token::TupleVariant {
|
||||||
/// Token::TupleVariantEnd,
|
/// name: "E",
|
||||||
/// ]);
|
/// variant: "C",
|
||||||
|
/// len: 2,
|
||||||
|
/// },
|
||||||
|
/// Token::U8(0),
|
||||||
|
/// Token::U8(0),
|
||||||
|
/// Token::TupleVariantEnd,
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
/// # }
|
/// # }
|
||||||
/// ```
|
/// ```
|
||||||
TupleVariant {
|
TupleVariant {
|
||||||
@@ -381,14 +406,17 @@ pub enum Token {
|
|||||||
/// map.insert('A', 65);
|
/// map.insert('A', 65);
|
||||||
/// map.insert('Z', 90);
|
/// map.insert('Z', 90);
|
||||||
///
|
///
|
||||||
/// assert_tokens(&map, &[
|
/// assert_tokens(
|
||||||
/// Token::Map { len: Some(2) },
|
/// &map,
|
||||||
/// Token::Char('A'),
|
/// &[
|
||||||
/// Token::I32(65),
|
/// Token::Map { len: Some(2) },
|
||||||
/// Token::Char('Z'),
|
/// Token::Char('A'),
|
||||||
/// Token::I32(90),
|
/// Token::I32(65),
|
||||||
/// Token::MapEnd,
|
/// Token::Char('Z'),
|
||||||
/// ]);
|
/// Token::I32(90),
|
||||||
|
/// Token::MapEnd,
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
Map { len: Option<usize> },
|
Map { len: Option<usize> },
|
||||||
|
|
||||||
@@ -411,14 +439,17 @@ pub enum Token {
|
|||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// let s = S { a: 0, b: 0 };
|
/// let s = S { a: 0, b: 0 };
|
||||||
/// assert_tokens(&s, &[
|
/// assert_tokens(
|
||||||
/// Token::Struct { name: "S", len: 2 },
|
/// &s,
|
||||||
/// Token::Str("a"),
|
/// &[
|
||||||
/// Token::U8(0),
|
/// Token::Struct { name: "S", len: 2 },
|
||||||
/// Token::Str("b"),
|
/// Token::Str("a"),
|
||||||
/// Token::U8(0),
|
/// Token::U8(0),
|
||||||
/// Token::StructEnd,
|
/// Token::Str("b"),
|
||||||
/// ]);
|
/// Token::U8(0),
|
||||||
|
/// Token::StructEnd,
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
/// # }
|
/// # }
|
||||||
/// ```
|
/// ```
|
||||||
Struct { name: &'static str, len: usize },
|
Struct { name: &'static str, len: usize },
|
||||||
@@ -442,12 +473,19 @@ pub enum Token {
|
|||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// let d = E::D { d: 0 };
|
/// let d = E::D { d: 0 };
|
||||||
/// assert_tokens(&d, &[
|
/// assert_tokens(
|
||||||
/// Token::StructVariant { name: "E", variant: "D", len: 1 },
|
/// &d,
|
||||||
/// Token::Str("d"),
|
/// &[
|
||||||
/// Token::U8(0),
|
/// Token::StructVariant {
|
||||||
/// Token::StructVariantEnd,
|
/// name: "E",
|
||||||
/// ]);
|
/// variant: "D",
|
||||||
|
/// len: 1,
|
||||||
|
/// },
|
||||||
|
/// Token::Str("d"),
|
||||||
|
/// Token::U8(0),
|
||||||
|
/// Token::StructVariantEnd,
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
/// # }
|
/// # }
|
||||||
/// ```
|
/// ```
|
||||||
StructVariant {
|
StructVariant {
|
||||||
@@ -475,38 +513,42 @@ pub enum Token {
|
|||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// let a = E::A;
|
/// let a = E::A;
|
||||||
/// assert_tokens(&a, &[
|
/// assert_tokens(
|
||||||
/// Token::Enum { name: "E" },
|
/// &a,
|
||||||
/// Token::Str("A"),
|
/// &[Token::Enum { name: "E" }, Token::Str("A"), Token::Unit],
|
||||||
/// Token::Unit,
|
/// );
|
||||||
/// ]);
|
|
||||||
///
|
///
|
||||||
/// let b = E::B(0);
|
/// let b = E::B(0);
|
||||||
/// assert_tokens(&b, &[
|
/// assert_tokens(
|
||||||
/// Token::Enum { name: "E" },
|
/// &b,
|
||||||
/// Token::Str("B"),
|
/// &[Token::Enum { name: "E" }, Token::Str("B"), Token::U8(0)],
|
||||||
/// Token::U8(0),
|
/// );
|
||||||
/// ]);
|
|
||||||
///
|
///
|
||||||
/// let c = E::C(0, 0);
|
/// let c = E::C(0, 0);
|
||||||
/// assert_tokens(&c, &[
|
/// assert_tokens(
|
||||||
/// Token::Enum { name: "E" },
|
/// &c,
|
||||||
/// Token::Str("C"),
|
/// &[
|
||||||
/// Token::Seq { len: Some(2) },
|
/// Token::Enum { name: "E" },
|
||||||
/// Token::U8(0),
|
/// Token::Str("C"),
|
||||||
/// Token::U8(0),
|
/// Token::Seq { len: Some(2) },
|
||||||
/// Token::SeqEnd,
|
/// Token::U8(0),
|
||||||
/// ]);
|
/// Token::U8(0),
|
||||||
|
/// Token::SeqEnd,
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
///
|
///
|
||||||
/// let d = E::D { d: 0 };
|
/// let d = E::D { d: 0 };
|
||||||
/// assert_tokens(&d, &[
|
/// assert_tokens(
|
||||||
/// Token::Enum { name: "E" },
|
/// &d,
|
||||||
/// Token::Str("D"),
|
/// &[
|
||||||
/// Token::Map { len: Some(1) },
|
/// Token::Enum { name: "E" },
|
||||||
/// Token::Str("d"),
|
/// Token::Str("D"),
|
||||||
/// Token::U8(0),
|
/// Token::Map { len: Some(1) },
|
||||||
/// Token::MapEnd,
|
/// Token::Str("d"),
|
||||||
/// ]);
|
/// Token::U8(0),
|
||||||
|
/// Token::MapEnd,
|
||||||
|
/// ],
|
||||||
|
/// );
|
||||||
/// # }
|
/// # }
|
||||||
/// ```
|
/// ```
|
||||||
Enum { name: &'static str },
|
Enum { name: &'static str },
|
||||||
|
|||||||
Reference in New Issue
Block a user