Coverage Report

Created: 2026-10-28 06:24

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/rust/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.198/src/de/value.rs
Line
Count
Source
1
//! Building blocks for deserializing basic values using the `IntoDeserializer`
2
//! trait.
3
//!
4
//! ```edition2021
5
//! use serde::de::{value, Deserialize, IntoDeserializer};
6
//! use serde_derive::Deserialize;
7
//! use std::str::FromStr;
8
//!
9
//! #[derive(Deserialize)]
10
//! enum Setting {
11
//!     On,
12
//!     Off,
13
//! }
14
//!
15
//! impl FromStr for Setting {
16
//!     type Err = value::Error;
17
//!
18
//!     fn from_str(s: &str) -> Result<Self, Self::Err> {
19
//!         Self::deserialize(s.into_deserializer())
20
//!     }
21
//! }
22
//! ```
23
24
use crate::lib::*;
25
26
use self::private::{First, Second};
27
use crate::de::{self, size_hint, Deserializer, Expected, IntoDeserializer, SeqAccess, Visitor};
28
use crate::ser;
29
30
////////////////////////////////////////////////////////////////////////////////
31
32
// For structs that contain a PhantomData. We do not want the trait
33
// bound `E: Clone` inferred by derive(Clone).
34
macro_rules! impl_copy_clone {
35
    ($ty:ident $(<$lifetime:tt>)*) => {
36
        impl<$($lifetime,)* E> Copy for $ty<$($lifetime,)* E> {}
37
38
        impl<$($lifetime,)* E> Clone for $ty<$($lifetime,)* E> {
39
0
            fn clone(&self) -> Self {
40
0
                *self
41
0
            }
Unexecuted instantiation: <serde::de::value::I64Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::I128Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::IsizeDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::U8Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::UnitDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::BoolDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::I8Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::I16Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::I32Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::U16Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::U64Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::CharDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::U32Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::StrDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::BytesDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::BorrowedBytesDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::U128Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::UsizeDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::F32Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::F64Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::I64Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::I128Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::IsizeDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::U8Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::UnitDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::BoolDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::I8Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::I16Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::I32Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::U16Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::U64Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::CharDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::U32Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::StrDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::BytesDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::BorrowedBytesDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::U128Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::UsizeDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::F32Deserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::F64Deserializer<_> as core::clone::Clone>::clone
42
        }
43
    };
44
}
45
46
////////////////////////////////////////////////////////////////////////////////
47
48
/// A minimal representation of all possible errors that can occur using the
49
/// `IntoDeserializer` trait.
50
#[derive(Clone, PartialEq)]
51
pub struct Error {
52
    err: ErrorImpl,
53
}
54
55
#[cfg(any(feature = "std", feature = "alloc"))]
56
type ErrorImpl = Box<str>;
57
#[cfg(not(any(feature = "std", feature = "alloc")))]
58
type ErrorImpl = ();
59
60
impl de::Error for Error {
61
    #[cfg(any(feature = "std", feature = "alloc"))]
62
    #[cold]
63
0
    fn custom<T>(msg: T) -> Self
64
0
    where
65
0
        T: Display,
66
    {
67
0
        Error {
68
0
            err: msg.to_string().into_boxed_str(),
69
0
        }
70
0
    }
Unexecuted instantiation: <serde::de::value::Error as serde::de::Error>::custom::<_>
Unexecuted instantiation: <serde::de::value::Error as serde::de::Error>::custom::<_>
71
72
    #[cfg(not(any(feature = "std", feature = "alloc")))]
73
    #[cold]
74
    fn custom<T>(msg: T) -> Self
75
    where
76
        T: Display,
77
    {
78
        let _ = msg;
79
        Error { err: () }
80
    }
81
}
82
83
impl ser::Error for Error {
84
    #[cold]
85
0
    fn custom<T>(msg: T) -> Self
86
0
    where
87
0
        T: Display,
88
    {
89
0
        de::Error::custom(msg)
90
0
    }
Unexecuted instantiation: <serde::de::value::Error as serde::ser::Error>::custom::<_>
Unexecuted instantiation: <serde::de::value::Error as serde::ser::Error>::custom::<_>
91
}
92
93
impl Display for Error {
94
    #[cfg(any(feature = "std", feature = "alloc"))]
95
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
96
0
        formatter.write_str(&self.err)
97
0
    }
Unexecuted instantiation: <serde::de::value::Error as core::fmt::Display>::fmt
Unexecuted instantiation: <serde::de::value::Error as core::fmt::Display>::fmt
98
99
    #[cfg(not(any(feature = "std", feature = "alloc")))]
100
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
101
        formatter.write_str("Serde deserialization error")
102
    }
103
}
104
105
impl Debug for Error {
106
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
107
0
        let mut debug = formatter.debug_tuple("Error");
108
        #[cfg(any(feature = "std", feature = "alloc"))]
109
0
        debug.field(&self.err);
110
0
        debug.finish()
111
0
    }
Unexecuted instantiation: <serde::de::value::Error as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::Error as core::fmt::Debug>::fmt
112
}
113
114
#[cfg(feature = "std")]
115
#[cfg_attr(doc_cfg, doc(cfg(feature = "std")))]
116
impl error::Error for Error {
117
0
    fn description(&self) -> &str {
118
0
        &self.err
119
0
    }
Unexecuted instantiation: <serde::de::value::Error as core::error::Error>::description
Unexecuted instantiation: <serde::de::value::Error as core::error::Error>::description
120
}
121
122
////////////////////////////////////////////////////////////////////////////////
123
124
impl<'de, E> IntoDeserializer<'de, E> for ()
125
where
126
    E: de::Error,
127
{
128
    type Deserializer = UnitDeserializer<E>;
129
130
0
    fn into_deserializer(self) -> UnitDeserializer<E> {
131
0
        UnitDeserializer::new()
132
0
    }
Unexecuted instantiation: <() as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <() as serde::de::IntoDeserializer<_>>::into_deserializer
133
}
134
135
/// A deserializer holding a `()`.
136
pub struct UnitDeserializer<E> {
137
    marker: PhantomData<E>,
138
}
139
140
impl_copy_clone!(UnitDeserializer);
141
142
impl<E> UnitDeserializer<E> {
143
    #[allow(missing_docs)]
144
0
    pub fn new() -> Self {
145
0
        UnitDeserializer {
146
0
            marker: PhantomData,
147
0
        }
148
0
    }
Unexecuted instantiation: <serde::de::value::UnitDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::UnitDeserializer<_>>::new
149
}
150
151
impl<'de, E> de::Deserializer<'de> for UnitDeserializer<E>
152
where
153
    E: de::Error,
154
{
155
    type Error = E;
156
157
    forward_to_deserialize_any! {
158
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
159
        bytes byte_buf unit unit_struct newtype_struct seq tuple tuple_struct
160
        map struct enum identifier ignored_any
161
    }
162
163
0
    fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
164
0
    where
165
0
        V: de::Visitor<'de>,
166
    {
167
0
        visitor.visit_unit()
168
0
    }
Unexecuted instantiation: <serde::de::value::UnitDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::UnitDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
169
170
0
    fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Self::Error>
171
0
    where
172
0
        V: de::Visitor<'de>,
173
    {
174
0
        visitor.visit_none()
175
0
    }
Unexecuted instantiation: <serde::de::value::UnitDeserializer<_> as serde::de::Deserializer>::deserialize_option::<_>
Unexecuted instantiation: <serde::de::value::UnitDeserializer<_> as serde::de::Deserializer>::deserialize_option::<_>
176
}
177
178
impl<E> Debug for UnitDeserializer<E> {
179
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
180
0
        formatter.debug_struct("UnitDeserializer").finish()
181
0
    }
Unexecuted instantiation: <serde::de::value::UnitDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::UnitDeserializer<_> as core::fmt::Debug>::fmt
182
}
183
184
////////////////////////////////////////////////////////////////////////////////
185
186
/// A deserializer that cannot be instantiated.
187
#[cfg(feature = "unstable")]
188
#[cfg_attr(doc_cfg, doc(cfg(feature = "unstable")))]
189
pub struct NeverDeserializer<E> {
190
    never: !,
191
    marker: PhantomData<E>,
192
}
193
194
#[cfg(feature = "unstable")]
195
#[cfg_attr(doc_cfg, doc(cfg(feature = "unstable")))]
196
impl<'de, E> IntoDeserializer<'de, E> for !
197
where
198
    E: de::Error,
199
{
200
    type Deserializer = NeverDeserializer<E>;
201
202
    fn into_deserializer(self) -> Self::Deserializer {
203
        self
204
    }
205
}
206
207
#[cfg(feature = "unstable")]
208
impl<'de, E> de::Deserializer<'de> for NeverDeserializer<E>
209
where
210
    E: de::Error,
211
{
212
    type Error = E;
213
214
    fn deserialize_any<V>(self, _visitor: V) -> Result<V::Value, Self::Error>
215
    where
216
        V: de::Visitor<'de>,
217
    {
218
        self.never
219
    }
220
221
    forward_to_deserialize_any! {
222
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
223
        bytes byte_buf option unit unit_struct newtype_struct seq tuple
224
        tuple_struct map struct enum identifier ignored_any
225
    }
226
}
227
228
////////////////////////////////////////////////////////////////////////////////
229
230
macro_rules! primitive_deserializer {
231
    ($ty:ty, $doc:tt, $name:ident, $method:ident $($cast:tt)*) => {
232
        #[doc = "A deserializer holding"]
233
        #[doc = $doc]
234
        pub struct $name<E> {
235
            value: $ty,
236
            marker: PhantomData<E>
237
        }
238
239
        impl_copy_clone!($name);
240
241
        impl<'de, E> IntoDeserializer<'de, E> for $ty
242
        where
243
            E: de::Error,
244
        {
245
            type Deserializer = $name<E>;
246
247
0
            fn into_deserializer(self) -> $name<E> {
248
0
                $name::new(self)
249
0
            }
Unexecuted instantiation: <i64 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <i128 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <isize as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <u8 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <u16 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <bool as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <i8 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <i16 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <i32 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <u64 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <u128 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <usize as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <f32 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <f64 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <char as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <i64 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <i128 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <isize as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <u8 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <u16 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <bool as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <i8 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <i16 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <i32 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <u64 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <u128 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <usize as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <f32 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <f64 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <char as serde::de::IntoDeserializer<_>>::into_deserializer
250
        }
251
252
        impl<E> $name<E> {
253
            #[allow(missing_docs)]
254
0
            pub fn new(value: $ty) -> Self {
255
0
                $name {
256
0
                    value,
257
0
                    marker: PhantomData,
258
0
                }
259
0
            }
Unexecuted instantiation: <serde::de::value::I64Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::I128Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::IsizeDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::U8Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::U16Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::BoolDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::I8Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::I16Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::I32Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::U64Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::U128Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::UsizeDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::F32Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::F64Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::CharDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::I64Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::I128Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::IsizeDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::U8Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::U16Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::BoolDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::I8Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::I16Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::I32Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::U64Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::U128Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::UsizeDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::F32Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::F64Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::CharDeserializer<_>>::new
260
        }
261
262
        impl<'de, E> de::Deserializer<'de> for $name<E>
263
        where
264
            E: de::Error,
265
        {
266
            type Error = E;
267
268
            forward_to_deserialize_any! {
269
                bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str
270
                string bytes byte_buf option unit unit_struct newtype_struct seq
271
                tuple tuple_struct map struct enum identifier ignored_any
272
            }
273
274
0
            fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
275
0
            where
276
0
                V: de::Visitor<'de>,
277
            {
278
0
                visitor.$method(self.value $($cast)*)
279
0
            }
Unexecuted instantiation: <serde::de::value::I64Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::I128Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::IsizeDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::U8Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::BoolDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::I8Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::I16Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::I32Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::U16Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::U64Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::CharDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::U128Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::UsizeDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::F32Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::F64Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::I64Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::I128Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::IsizeDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::U8Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::BoolDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::I8Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::I16Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::I32Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::U16Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::U64Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::CharDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::U128Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::UsizeDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::F32Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::F64Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
280
        }
281
282
        impl<E> Debug for $name<E> {
283
0
            fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
284
0
                formatter
285
0
                    .debug_struct(stringify!($name))
286
0
                    .field("value", &self.value)
287
0
                    .finish()
288
0
            }
Unexecuted instantiation: <serde::de::value::I64Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::I128Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::IsizeDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::U8Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::BoolDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::I8Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::I16Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::I32Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::U16Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::U64Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::CharDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::U128Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::UsizeDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::F32Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::F64Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::I64Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::I128Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::IsizeDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::U8Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::BoolDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::I8Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::I16Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::I32Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::U16Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::U64Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::CharDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::U128Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::UsizeDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::F32Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::F64Deserializer<_> as core::fmt::Debug>::fmt
289
        }
290
    }
291
}
292
293
primitive_deserializer!(bool, "a `bool`.", BoolDeserializer, visit_bool);
294
primitive_deserializer!(i8, "an `i8`.", I8Deserializer, visit_i8);
295
primitive_deserializer!(i16, "an `i16`.", I16Deserializer, visit_i16);
296
primitive_deserializer!(i32, "an `i32`.", I32Deserializer, visit_i32);
297
primitive_deserializer!(i64, "an `i64`.", I64Deserializer, visit_i64);
298
primitive_deserializer!(i128, "an `i128`.", I128Deserializer, visit_i128);
299
primitive_deserializer!(isize, "an `isize`.", IsizeDeserializer, visit_i64 as i64);
300
primitive_deserializer!(u8, "a `u8`.", U8Deserializer, visit_u8);
301
primitive_deserializer!(u16, "a `u16`.", U16Deserializer, visit_u16);
302
primitive_deserializer!(u64, "a `u64`.", U64Deserializer, visit_u64);
303
primitive_deserializer!(u128, "a `u128`.", U128Deserializer, visit_u128);
304
primitive_deserializer!(usize, "a `usize`.", UsizeDeserializer, visit_u64 as u64);
305
primitive_deserializer!(f32, "an `f32`.", F32Deserializer, visit_f32);
306
primitive_deserializer!(f64, "an `f64`.", F64Deserializer, visit_f64);
307
primitive_deserializer!(char, "a `char`.", CharDeserializer, visit_char);
308
309
/// A deserializer holding a `u32`.
310
pub struct U32Deserializer<E> {
311
    value: u32,
312
    marker: PhantomData<E>,
313
}
314
315
impl_copy_clone!(U32Deserializer);
316
317
impl<'de, E> IntoDeserializer<'de, E> for u32
318
where
319
    E: de::Error,
320
{
321
    type Deserializer = U32Deserializer<E>;
322
323
0
    fn into_deserializer(self) -> U32Deserializer<E> {
324
0
        U32Deserializer::new(self)
325
0
    }
Unexecuted instantiation: <u32 as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <u32 as serde::de::IntoDeserializer<_>>::into_deserializer
326
}
327
328
impl<E> U32Deserializer<E> {
329
    #[allow(missing_docs)]
330
0
    pub fn new(value: u32) -> Self {
331
0
        U32Deserializer {
332
0
            value,
333
0
            marker: PhantomData,
334
0
        }
335
0
    }
Unexecuted instantiation: <serde::de::value::U32Deserializer<_>>::new
Unexecuted instantiation: <serde::de::value::U32Deserializer<_>>::new
336
}
337
338
impl<'de, E> de::Deserializer<'de> for U32Deserializer<E>
339
where
340
    E: de::Error,
341
{
342
    type Error = E;
343
344
    forward_to_deserialize_any! {
345
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
346
        bytes byte_buf option unit unit_struct newtype_struct seq tuple
347
        tuple_struct map struct identifier ignored_any
348
    }
349
350
0
    fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
351
0
    where
352
0
        V: de::Visitor<'de>,
353
    {
354
0
        visitor.visit_u32(self.value)
355
0
    }
Unexecuted instantiation: <serde::de::value::U32Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::U32Deserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
356
357
0
    fn deserialize_enum<V>(
358
0
        self,
359
0
        name: &str,
360
0
        variants: &'static [&'static str],
361
0
        visitor: V,
362
0
    ) -> Result<V::Value, Self::Error>
363
0
    where
364
0
        V: de::Visitor<'de>,
365
    {
366
0
        let _ = name;
367
0
        let _ = variants;
368
0
        visitor.visit_enum(self)
369
0
    }
Unexecuted instantiation: <serde::de::value::U32Deserializer<_> as serde::de::Deserializer>::deserialize_enum::<_>
Unexecuted instantiation: <serde::de::value::U32Deserializer<_> as serde::de::Deserializer>::deserialize_enum::<_>
370
}
371
372
impl<'de, E> de::EnumAccess<'de> for U32Deserializer<E>
373
where
374
    E: de::Error,
375
{
376
    type Error = E;
377
    type Variant = private::UnitOnly<E>;
378
379
0
    fn variant_seed<T>(self, seed: T) -> Result<(T::Value, Self::Variant), Self::Error>
380
0
    where
381
0
        T: de::DeserializeSeed<'de>,
382
    {
383
0
        seed.deserialize(self).map(private::unit_only)
384
0
    }
Unexecuted instantiation: <serde::de::value::U32Deserializer<_> as serde::de::EnumAccess>::variant_seed::<_>
Unexecuted instantiation: <serde::de::value::U32Deserializer<_> as serde::de::EnumAccess>::variant_seed::<_>
385
}
386
387
impl<E> Debug for U32Deserializer<E> {
388
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
389
0
        formatter
390
0
            .debug_struct("U32Deserializer")
391
0
            .field("value", &self.value)
392
0
            .finish()
393
0
    }
Unexecuted instantiation: <serde::de::value::U32Deserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::U32Deserializer<_> as core::fmt::Debug>::fmt
394
}
395
396
////////////////////////////////////////////////////////////////////////////////
397
398
/// A deserializer holding a `&str`.
399
pub struct StrDeserializer<'a, E> {
400
    value: &'a str,
401
    marker: PhantomData<E>,
402
}
403
404
impl_copy_clone!(StrDeserializer<'de>);
405
406
impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a str
407
where
408
    E: de::Error,
409
{
410
    type Deserializer = StrDeserializer<'a, E>;
411
412
0
    fn into_deserializer(self) -> StrDeserializer<'a, E> {
413
0
        StrDeserializer::new(self)
414
0
    }
Unexecuted instantiation: <&str as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <&str as serde::de::IntoDeserializer<_>>::into_deserializer
415
}
416
417
impl<'a, E> StrDeserializer<'a, E> {
418
    #[allow(missing_docs)]
419
0
    pub fn new(value: &'a str) -> Self {
420
0
        StrDeserializer {
421
0
            value,
422
0
            marker: PhantomData,
423
0
        }
424
0
    }
Unexecuted instantiation: <serde::de::value::StrDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::StrDeserializer<_>>::new
425
}
426
427
impl<'de, 'a, E> de::Deserializer<'de> for StrDeserializer<'a, E>
428
where
429
    E: de::Error,
430
{
431
    type Error = E;
432
433
0
    fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
434
0
    where
435
0
        V: de::Visitor<'de>,
436
    {
437
0
        visitor.visit_str(self.value)
438
0
    }
Unexecuted instantiation: <serde::de::value::StrDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::StrDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
439
440
0
    fn deserialize_enum<V>(
441
0
        self,
442
0
        name: &str,
443
0
        variants: &'static [&'static str],
444
0
        visitor: V,
445
0
    ) -> Result<V::Value, Self::Error>
446
0
    where
447
0
        V: de::Visitor<'de>,
448
    {
449
0
        let _ = name;
450
0
        let _ = variants;
451
0
        visitor.visit_enum(self)
452
0
    }
Unexecuted instantiation: <serde::de::value::StrDeserializer<_> as serde::de::Deserializer>::deserialize_enum::<_>
Unexecuted instantiation: <serde::de::value::StrDeserializer<_> as serde::de::Deserializer>::deserialize_enum::<_>
453
454
    forward_to_deserialize_any! {
455
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
456
        bytes byte_buf option unit unit_struct newtype_struct seq tuple
457
        tuple_struct map struct identifier ignored_any
458
    }
459
}
460
461
impl<'de, 'a, E> de::EnumAccess<'de> for StrDeserializer<'a, E>
462
where
463
    E: de::Error,
464
{
465
    type Error = E;
466
    type Variant = private::UnitOnly<E>;
467
468
0
    fn variant_seed<T>(self, seed: T) -> Result<(T::Value, Self::Variant), Self::Error>
469
0
    where
470
0
        T: de::DeserializeSeed<'de>,
471
    {
472
0
        seed.deserialize(self).map(private::unit_only)
473
0
    }
Unexecuted instantiation: <serde::de::value::StrDeserializer<_> as serde::de::EnumAccess>::variant_seed::<_>
Unexecuted instantiation: <serde::de::value::StrDeserializer<_> as serde::de::EnumAccess>::variant_seed::<_>
474
}
475
476
impl<'a, E> Debug for StrDeserializer<'a, E> {
477
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
478
0
        formatter
479
0
            .debug_struct("StrDeserializer")
480
0
            .field("value", &self.value)
481
0
            .finish()
482
0
    }
Unexecuted instantiation: <serde::de::value::StrDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::StrDeserializer<_> as core::fmt::Debug>::fmt
483
}
484
485
////////////////////////////////////////////////////////////////////////////////
486
487
/// A deserializer holding a `&str` with a lifetime tied to another
488
/// deserializer.
489
pub struct BorrowedStrDeserializer<'de, E> {
490
    value: &'de str,
491
    marker: PhantomData<E>,
492
}
493
494
impl_copy_clone!(BorrowedStrDeserializer<'de>);
495
496
impl<'de, E> BorrowedStrDeserializer<'de, E> {
497
    /// Create a new borrowed deserializer from the given string.
498
0
    pub fn new(value: &'de str) -> BorrowedStrDeserializer<'de, E> {
499
0
        BorrowedStrDeserializer {
500
0
            value,
501
0
            marker: PhantomData,
502
0
        }
503
0
    }
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<_>>::new
504
}
505
506
impl<'de, E> de::Deserializer<'de> for BorrowedStrDeserializer<'de, E>
507
where
508
    E: de::Error,
509
{
510
    type Error = E;
511
512
0
    fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
513
0
    where
514
0
        V: de::Visitor<'de>,
515
    {
516
0
        visitor.visit_borrowed_str(self.value)
517
0
    }
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<serde_json::error::Error> as serde::de::Deserializer>::deserialize_any::<serde_json::raw::ReferenceFromString>
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<serde_json::error::Error> as serde::de::Deserializer>::deserialize_any::<serde_json::raw::ReferenceFromString>
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
518
519
0
    fn deserialize_enum<V>(
520
0
        self,
521
0
        name: &str,
522
0
        variants: &'static [&'static str],
523
0
        visitor: V,
524
0
    ) -> Result<V::Value, Self::Error>
525
0
    where
526
0
        V: de::Visitor<'de>,
527
    {
528
0
        let _ = name;
529
0
        let _ = variants;
530
0
        visitor.visit_enum(self)
531
0
    }
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<_> as serde::de::Deserializer>::deserialize_enum::<_>
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<_> as serde::de::Deserializer>::deserialize_enum::<_>
532
533
    forward_to_deserialize_any! {
534
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
535
        bytes byte_buf option unit unit_struct newtype_struct seq tuple
536
        tuple_struct map struct identifier ignored_any
537
    }
538
}
539
540
impl<'de, E> de::EnumAccess<'de> for BorrowedStrDeserializer<'de, E>
541
where
542
    E: de::Error,
543
{
544
    type Error = E;
545
    type Variant = private::UnitOnly<E>;
546
547
0
    fn variant_seed<T>(self, seed: T) -> Result<(T::Value, Self::Variant), Self::Error>
548
0
    where
549
0
        T: de::DeserializeSeed<'de>,
550
    {
551
0
        seed.deserialize(self).map(private::unit_only)
552
0
    }
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<_> as serde::de::EnumAccess>::variant_seed::<_>
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<_> as serde::de::EnumAccess>::variant_seed::<_>
553
}
554
555
impl<'de, E> Debug for BorrowedStrDeserializer<'de, E> {
556
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
557
0
        formatter
558
0
            .debug_struct("BorrowedStrDeserializer")
559
0
            .field("value", &self.value)
560
0
            .finish()
561
0
    }
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::BorrowedStrDeserializer<_> as core::fmt::Debug>::fmt
562
}
563
564
////////////////////////////////////////////////////////////////////////////////
565
566
/// A deserializer holding a `String`.
567
#[cfg(any(feature = "std", feature = "alloc"))]
568
#[cfg_attr(doc_cfg, doc(cfg(any(feature = "std", feature = "alloc"))))]
569
pub struct StringDeserializer<E> {
570
    value: String,
571
    marker: PhantomData<E>,
572
}
573
574
#[cfg(any(feature = "std", feature = "alloc"))]
575
impl<E> Clone for StringDeserializer<E> {
576
0
    fn clone(&self) -> Self {
577
0
        StringDeserializer {
578
0
            value: self.value.clone(),
579
0
            marker: PhantomData,
580
0
        }
581
0
    }
Unexecuted instantiation: <serde::de::value::StringDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::StringDeserializer<_> as core::clone::Clone>::clone
582
}
583
584
#[cfg(any(feature = "std", feature = "alloc"))]
585
#[cfg_attr(doc_cfg, doc(cfg(any(feature = "std", feature = "alloc"))))]
586
impl<'de, E> IntoDeserializer<'de, E> for String
587
where
588
    E: de::Error,
589
{
590
    type Deserializer = StringDeserializer<E>;
591
592
0
    fn into_deserializer(self) -> StringDeserializer<E> {
593
0
        StringDeserializer::new(self)
594
0
    }
Unexecuted instantiation: <alloc::string::String as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <alloc::string::String as serde::de::IntoDeserializer<_>>::into_deserializer
595
}
596
597
#[cfg(any(feature = "std", feature = "alloc"))]
598
impl<E> StringDeserializer<E> {
599
    #[allow(missing_docs)]
600
0
    pub fn new(value: String) -> Self {
601
0
        StringDeserializer {
602
0
            value,
603
0
            marker: PhantomData,
604
0
        }
605
0
    }
Unexecuted instantiation: <serde::de::value::StringDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::StringDeserializer<_>>::new
606
}
607
608
#[cfg(any(feature = "std", feature = "alloc"))]
609
impl<'de, E> de::Deserializer<'de> for StringDeserializer<E>
610
where
611
    E: de::Error,
612
{
613
    type Error = E;
614
615
0
    fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
616
0
    where
617
0
        V: de::Visitor<'de>,
618
    {
619
0
        visitor.visit_string(self.value)
620
0
    }
Unexecuted instantiation: <serde::de::value::StringDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::StringDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
621
622
0
    fn deserialize_enum<V>(
623
0
        self,
624
0
        name: &str,
625
0
        variants: &'static [&'static str],
626
0
        visitor: V,
627
0
    ) -> Result<V::Value, Self::Error>
628
0
    where
629
0
        V: de::Visitor<'de>,
630
    {
631
0
        let _ = name;
632
0
        let _ = variants;
633
0
        visitor.visit_enum(self)
634
0
    }
Unexecuted instantiation: <serde::de::value::StringDeserializer<_> as serde::de::Deserializer>::deserialize_enum::<_>
Unexecuted instantiation: <serde::de::value::StringDeserializer<_> as serde::de::Deserializer>::deserialize_enum::<_>
635
636
    forward_to_deserialize_any! {
637
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
638
        bytes byte_buf option unit unit_struct newtype_struct seq tuple
639
        tuple_struct map struct identifier ignored_any
640
    }
641
}
642
643
#[cfg(any(feature = "std", feature = "alloc"))]
644
impl<'de, E> de::EnumAccess<'de> for StringDeserializer<E>
645
where
646
    E: de::Error,
647
{
648
    type Error = E;
649
    type Variant = private::UnitOnly<E>;
650
651
0
    fn variant_seed<T>(self, seed: T) -> Result<(T::Value, Self::Variant), Self::Error>
652
0
    where
653
0
        T: de::DeserializeSeed<'de>,
654
    {
655
0
        seed.deserialize(self).map(private::unit_only)
656
0
    }
Unexecuted instantiation: <serde::de::value::StringDeserializer<_> as serde::de::EnumAccess>::variant_seed::<_>
Unexecuted instantiation: <serde::de::value::StringDeserializer<_> as serde::de::EnumAccess>::variant_seed::<_>
657
}
658
659
#[cfg(any(feature = "std", feature = "alloc"))]
660
impl<E> Debug for StringDeserializer<E> {
661
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
662
0
        formatter
663
0
            .debug_struct("StringDeserializer")
664
0
            .field("value", &self.value)
665
0
            .finish()
666
0
    }
Unexecuted instantiation: <serde::de::value::StringDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::StringDeserializer<_> as core::fmt::Debug>::fmt
667
}
668
669
////////////////////////////////////////////////////////////////////////////////
670
671
/// A deserializer holding a `Cow<str>`.
672
#[cfg(any(feature = "std", feature = "alloc"))]
673
#[cfg_attr(doc_cfg, doc(cfg(any(feature = "std", feature = "alloc"))))]
674
pub struct CowStrDeserializer<'a, E> {
675
    value: Cow<'a, str>,
676
    marker: PhantomData<E>,
677
}
678
679
#[cfg(any(feature = "std", feature = "alloc"))]
680
impl<'a, E> Clone for CowStrDeserializer<'a, E> {
681
0
    fn clone(&self) -> Self {
682
0
        CowStrDeserializer {
683
0
            value: self.value.clone(),
684
0
            marker: PhantomData,
685
0
        }
686
0
    }
Unexecuted instantiation: <serde::de::value::CowStrDeserializer<_> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::CowStrDeserializer<_> as core::clone::Clone>::clone
687
}
688
689
#[cfg(any(feature = "std", feature = "alloc"))]
690
#[cfg_attr(doc_cfg, doc(cfg(any(feature = "std", feature = "alloc"))))]
691
impl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str>
692
where
693
    E: de::Error,
694
{
695
    type Deserializer = CowStrDeserializer<'a, E>;
696
697
0
    fn into_deserializer(self) -> CowStrDeserializer<'a, E> {
698
0
        CowStrDeserializer::new(self)
699
0
    }
Unexecuted instantiation: <alloc::borrow::Cow<str> as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <alloc::borrow::Cow<str> as serde::de::IntoDeserializer<_>>::into_deserializer
700
}
701
702
#[cfg(any(feature = "std", feature = "alloc"))]
703
impl<'a, E> CowStrDeserializer<'a, E> {
704
    #[allow(missing_docs)]
705
0
    pub fn new(value: Cow<'a, str>) -> Self {
706
0
        CowStrDeserializer {
707
0
            value,
708
0
            marker: PhantomData,
709
0
        }
710
0
    }
Unexecuted instantiation: <serde::de::value::CowStrDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::CowStrDeserializer<_>>::new
711
}
712
713
#[cfg(any(feature = "std", feature = "alloc"))]
714
impl<'de, 'a, E> de::Deserializer<'de> for CowStrDeserializer<'a, E>
715
where
716
    E: de::Error,
717
{
718
    type Error = E;
719
720
0
    fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
721
0
    where
722
0
        V: de::Visitor<'de>,
723
    {
724
0
        match self.value {
725
0
            Cow::Borrowed(string) => visitor.visit_str(string),
726
0
            Cow::Owned(string) => visitor.visit_string(string),
727
        }
728
0
    }
Unexecuted instantiation: <serde::de::value::CowStrDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::CowStrDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
729
730
0
    fn deserialize_enum<V>(
731
0
        self,
732
0
        name: &str,
733
0
        variants: &'static [&'static str],
734
0
        visitor: V,
735
0
    ) -> Result<V::Value, Self::Error>
736
0
    where
737
0
        V: de::Visitor<'de>,
738
    {
739
0
        let _ = name;
740
0
        let _ = variants;
741
0
        visitor.visit_enum(self)
742
0
    }
Unexecuted instantiation: <serde::de::value::CowStrDeserializer<_> as serde::de::Deserializer>::deserialize_enum::<_>
Unexecuted instantiation: <serde::de::value::CowStrDeserializer<_> as serde::de::Deserializer>::deserialize_enum::<_>
743
744
    forward_to_deserialize_any! {
745
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
746
        bytes byte_buf option unit unit_struct newtype_struct seq tuple
747
        tuple_struct map struct identifier ignored_any
748
    }
749
}
750
751
#[cfg(any(feature = "std", feature = "alloc"))]
752
impl<'de, 'a, E> de::EnumAccess<'de> for CowStrDeserializer<'a, E>
753
where
754
    E: de::Error,
755
{
756
    type Error = E;
757
    type Variant = private::UnitOnly<E>;
758
759
0
    fn variant_seed<T>(self, seed: T) -> Result<(T::Value, Self::Variant), Self::Error>
760
0
    where
761
0
        T: de::DeserializeSeed<'de>,
762
    {
763
0
        seed.deserialize(self).map(private::unit_only)
764
0
    }
Unexecuted instantiation: <serde::de::value::CowStrDeserializer<_> as serde::de::EnumAccess>::variant_seed::<_>
Unexecuted instantiation: <serde::de::value::CowStrDeserializer<_> as serde::de::EnumAccess>::variant_seed::<_>
765
}
766
767
#[cfg(any(feature = "std", feature = "alloc"))]
768
impl<'a, E> Debug for CowStrDeserializer<'a, E> {
769
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
770
0
        formatter
771
0
            .debug_struct("CowStrDeserializer")
772
0
            .field("value", &self.value)
773
0
            .finish()
774
0
    }
Unexecuted instantiation: <serde::de::value::CowStrDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::CowStrDeserializer<_> as core::fmt::Debug>::fmt
775
}
776
777
////////////////////////////////////////////////////////////////////////////////
778
779
/// A deserializer holding a `&[u8]`. Always calls [`Visitor::visit_bytes`].
780
pub struct BytesDeserializer<'a, E> {
781
    value: &'a [u8],
782
    marker: PhantomData<E>,
783
}
784
785
impl<'a, E> BytesDeserializer<'a, E> {
786
    /// Create a new deserializer from the given bytes.
787
0
    pub fn new(value: &'a [u8]) -> Self {
788
0
        BytesDeserializer {
789
0
            value,
790
0
            marker: PhantomData,
791
0
        }
792
0
    }
Unexecuted instantiation: <serde::de::value::BytesDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::BytesDeserializer<_>>::new
793
}
794
795
impl_copy_clone!(BytesDeserializer<'a>);
796
797
impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a [u8]
798
where
799
    E: de::Error,
800
{
801
    type Deserializer = BytesDeserializer<'a, E>;
802
803
0
    fn into_deserializer(self) -> BytesDeserializer<'a, E> {
804
0
        BytesDeserializer::new(self)
805
0
    }
Unexecuted instantiation: <&[u8] as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <&[u8] as serde::de::IntoDeserializer<_>>::into_deserializer
806
}
807
808
impl<'de, 'a, E> Deserializer<'de> for BytesDeserializer<'a, E>
809
where
810
    E: de::Error,
811
{
812
    type Error = E;
813
814
0
    fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
815
0
    where
816
0
        V: Visitor<'de>,
817
    {
818
0
        visitor.visit_bytes(self.value)
819
0
    }
Unexecuted instantiation: <serde::de::value::BytesDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::BytesDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
820
821
    forward_to_deserialize_any! {
822
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
823
        bytes byte_buf option unit unit_struct newtype_struct seq tuple
824
        tuple_struct map struct enum identifier ignored_any
825
    }
826
}
827
828
impl<'a, E> Debug for BytesDeserializer<'a, E> {
829
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
830
0
        formatter
831
0
            .debug_struct("BytesDeserializer")
832
0
            .field("value", &self.value)
833
0
            .finish()
834
0
    }
Unexecuted instantiation: <serde::de::value::BytesDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::BytesDeserializer<_> as core::fmt::Debug>::fmt
835
}
836
837
/// A deserializer holding a `&[u8]` with a lifetime tied to another
838
/// deserializer. Always calls [`Visitor::visit_borrowed_bytes`].
839
pub struct BorrowedBytesDeserializer<'de, E> {
840
    value: &'de [u8],
841
    marker: PhantomData<E>,
842
}
843
844
impl<'de, E> BorrowedBytesDeserializer<'de, E> {
845
    /// Create a new borrowed deserializer from the given borrowed bytes.
846
0
    pub fn new(value: &'de [u8]) -> Self {
847
0
        BorrowedBytesDeserializer {
848
0
            value,
849
0
            marker: PhantomData,
850
0
        }
851
0
    }
Unexecuted instantiation: <serde::de::value::BorrowedBytesDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::BorrowedBytesDeserializer<_>>::new
852
}
853
854
impl_copy_clone!(BorrowedBytesDeserializer<'de>);
855
856
impl<'de, E> Deserializer<'de> for BorrowedBytesDeserializer<'de, E>
857
where
858
    E: de::Error,
859
{
860
    type Error = E;
861
862
0
    fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
863
0
    where
864
0
        V: Visitor<'de>,
865
    {
866
0
        visitor.visit_borrowed_bytes(self.value)
867
0
    }
Unexecuted instantiation: <serde::de::value::BorrowedBytesDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::BorrowedBytesDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
868
869
    forward_to_deserialize_any! {
870
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
871
        bytes byte_buf option unit unit_struct newtype_struct seq tuple
872
        tuple_struct map struct enum identifier ignored_any
873
    }
874
}
875
876
impl<'de, E> Debug for BorrowedBytesDeserializer<'de, E> {
877
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
878
0
        formatter
879
0
            .debug_struct("BorrowedBytesDeserializer")
880
0
            .field("value", &self.value)
881
0
            .finish()
882
0
    }
Unexecuted instantiation: <serde::de::value::BorrowedBytesDeserializer<_> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::BorrowedBytesDeserializer<_> as core::fmt::Debug>::fmt
883
}
884
885
////////////////////////////////////////////////////////////////////////////////
886
887
/// A deserializer that iterates over a sequence.
888
#[derive(Clone)]
889
pub struct SeqDeserializer<I, E> {
890
    iter: iter::Fuse<I>,
891
    count: usize,
892
    marker: PhantomData<E>,
893
}
894
895
impl<I, E> SeqDeserializer<I, E>
896
where
897
    I: Iterator,
898
{
899
    /// Construct a new `SeqDeserializer<I, E>`.
900
348k
    pub fn new(iter: I) -> Self {
901
348k
        SeqDeserializer {
902
348k
            iter: iter.fuse(),
903
348k
            count: 0,
904
348k
            marker: PhantomData,
905
348k
        }
906
348k
    }
Unexecuted instantiation: <serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::SeqDeserializer<_, _>>::new
<serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>::new
Line
Count
Source
900
348k
    pub fn new(iter: I) -> Self {
901
348k
        SeqDeserializer {
902
348k
            iter: iter.fuse(),
903
348k
            count: 0,
904
348k
            marker: PhantomData,
905
348k
        }
906
348k
    }
Unexecuted instantiation: <serde::de::value::SeqDeserializer<_, _>>::new
907
}
908
909
impl<I, E> SeqDeserializer<I, E>
910
where
911
    I: Iterator,
912
    E: de::Error,
913
{
914
    /// Check for remaining elements after passing a `SeqDeserializer` to
915
    /// `Visitor::visit_seq`.
916
298k
    pub fn end(self) -> Result<(), E> {
917
298k
        let remaining = self.iter.count();
918
298k
        if remaining == 0 {
919
286k
            Ok(())
920
        } else {
921
            // First argument is the number of elements in the data, second
922
            // argument is the number of elements expected by the Deserialize.
923
11.1k
            Err(de::Error::invalid_length(
924
11.1k
                self.count + remaining,
925
11.1k
                &ExpectedInSeq(self.count),
926
11.1k
            ))
927
        }
928
298k
    }
Unexecuted instantiation: <serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::SeqDeserializer<_, _>>::end
<serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error>>::end
Line
Count
Source
916
298k
    pub fn end(self) -> Result<(), E> {
917
298k
        let remaining = self.iter.count();
918
298k
        if remaining == 0 {
919
286k
            Ok(())
920
        } else {
921
            // First argument is the number of elements in the data, second
922
            // argument is the number of elements expected by the Deserialize.
923
11.1k
            Err(de::Error::invalid_length(
924
11.1k
                self.count + remaining,
925
11.1k
                &ExpectedInSeq(self.count),
926
11.1k
            ))
927
        }
928
298k
    }
Unexecuted instantiation: <serde::de::value::SeqDeserializer<_, _>>::end
929
}
930
931
impl<'de, I, T, E> de::Deserializer<'de> for SeqDeserializer<I, E>
932
where
933
    I: Iterator<Item = T>,
934
    T: IntoDeserializer<'de, E>,
935
    E: de::Error,
936
{
937
    type Error = E;
938
939
0
    fn deserialize_any<V>(mut self, visitor: V) -> Result<V::Value, Self::Error>
940
0
    where
941
0
        V: de::Visitor<'de>,
942
    {
943
0
        let v = tri!(visitor.visit_seq(&mut self));
944
0
        tri!(self.end());
945
0
        Ok(v)
946
0
    }
Unexecuted instantiation: <serde::de::value::SeqDeserializer<_, _> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::SeqDeserializer<_, _> as serde::de::Deserializer>::deserialize_any::<_>
947
948
    forward_to_deserialize_any! {
949
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
950
        bytes byte_buf option unit unit_struct newtype_struct seq tuple
951
        tuple_struct map struct enum identifier ignored_any
952
    }
953
}
954
955
impl<'de, I, T, E> de::SeqAccess<'de> for SeqDeserializer<I, E>
956
where
957
    I: Iterator<Item = T>,
958
    T: IntoDeserializer<'de, E>,
959
    E: de::Error,
960
{
961
    type Error = E;
962
963
2.21M
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
2.21M
    where
965
2.21M
        V: de::DeserializeSeed<'de>,
966
    {
967
2.21M
        match self.iter.next() {
968
2.21M
            Some(value) => {
969
2.21M
                self.count += 1;
970
2.21M
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
8.05k
            None => Ok(None),
973
        }
974
2.21M
    }
Unexecuted instantiation: <serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<core::option::Option<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>>
Unexecuted instantiation: <serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>
Unexecuted instantiation: <serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<alloc::string::String>>
Unexecuted instantiation: <serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<policy::v1::config::QeIdentity>>
Unexecuted instantiation: <serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<policy::v1::config::TdInfo>>
Unexecuted instantiation: <serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<policy::v1::config::Platform>>
Unexecuted instantiation: <serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<policy::v1::config::Operation>>
Unexecuted instantiation: <serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<policy::v1::config::Reference>>
Unexecuted instantiation: <serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<policy::v1::config::TdxModule>>
Unexecuted instantiation: <serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<u8>>
Unexecuted instantiation: <serde::de::value::SeqDeserializer<_, _> as serde::de::SeqAccess>::next_element_seed::<_>
<serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<core::option::Option<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>>
Line
Count
Source
963
4.73k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
4.73k
    where
965
4.73k
        V: de::DeserializeSeed<'de>,
966
    {
967
4.73k
        match self.iter.next() {
968
4.67k
            Some(value) => {
969
4.67k
                self.count += 1;
970
4.67k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
66
            None => Ok(None),
973
        }
974
4.73k
    }
<serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>
Line
Count
Source
963
35.4k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
35.4k
    where
965
35.4k
        V: de::DeserializeSeed<'de>,
966
    {
967
35.4k
        match self.iter.next() {
968
34.7k
            Some(value) => {
969
34.7k
                self.count += 1;
970
34.7k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
661
            None => Ok(None),
973
        }
974
35.4k
    }
<serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<alloc::string::String>>
Line
Count
Source
963
12.1k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
12.1k
    where
965
12.1k
        V: de::DeserializeSeed<'de>,
966
    {
967
12.1k
        match self.iter.next() {
968
12.1k
            Some(value) => {
969
12.1k
                self.count += 1;
970
12.1k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
16
            None => Ok(None),
973
        }
974
12.1k
    }
<serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<policy::v1::config::QeIdentity>>
Line
Count
Source
963
11.4k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
11.4k
    where
965
11.4k
        V: de::DeserializeSeed<'de>,
966
    {
967
11.4k
        match self.iter.next() {
968
11.4k
            Some(value) => {
969
11.4k
                self.count += 1;
970
11.4k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
16
            None => Ok(None),
973
        }
974
11.4k
    }
<serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<policy::v1::config::TdInfo>>
Line
Count
Source
963
7.69k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
7.69k
    where
965
7.69k
        V: de::DeserializeSeed<'de>,
966
    {
967
7.69k
        match self.iter.next() {
968
7.67k
            Some(value) => {
969
7.67k
                self.count += 1;
970
7.67k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
16
            None => Ok(None),
973
        }
974
7.69k
    }
<serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<policy::v1::config::Platform>>
Line
Count
Source
963
821
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
821
    where
965
821
        V: de::DeserializeSeed<'de>,
966
    {
967
821
        match self.iter.next() {
968
791
            Some(value) => {
969
791
                self.count += 1;
970
791
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
30
            None => Ok(None),
973
        }
974
821
    }
<serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<policy::v1::config::Operation>>
Line
Count
Source
963
265k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
265k
    where
965
265k
        V: de::DeserializeSeed<'de>,
966
    {
967
265k
        match self.iter.next() {
968
264k
            Some(value) => {
969
264k
                self.count += 1;
970
264k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
464
            None => Ok(None),
973
        }
974
265k
    }
<serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<policy::v1::config::Reference>>
Line
Count
Source
963
261k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
261k
    where
965
261k
        V: de::DeserializeSeed<'de>,
966
    {
967
261k
        match self.iter.next() {
968
261k
            Some(value) => {
969
261k
                self.count += 1;
970
261k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
310
            None => Ok(None),
973
        }
974
261k
    }
<serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<policy::v1::config::TdxModule>>
Line
Count
Source
963
8.06k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
8.06k
    where
965
8.06k
        V: de::DeserializeSeed<'de>,
966
    {
967
8.06k
        match self.iter.next() {
968
8.04k
            Some(value) => {
969
8.04k
                self.count += 1;
970
8.04k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
16
            None => Ok(None),
973
        }
974
8.06k
    }
<serde::de::value::SeqDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<serde::__private::de::content::Content>, <serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>>::new>, serde_json::error::Error> as serde::de::SeqAccess>::next_element_seed::<core::marker::PhantomData<u8>>
Line
Count
Source
963
1.61M
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
1.61M
    where
965
1.61M
        V: de::DeserializeSeed<'de>,
966
    {
967
1.61M
        match self.iter.next() {
968
1.60M
            Some(value) => {
969
1.60M
                self.count += 1;
970
1.60M
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
6.46k
            None => Ok(None),
973
        }
974
1.61M
    }
Unexecuted instantiation: <serde::de::value::SeqDeserializer<_, _> as serde::de::SeqAccess>::next_element_seed::<_>
975
976
0
    fn size_hint(&self) -> Option<usize> {
977
0
        size_hint::from_bounds(&self.iter)
978
0
    }
Unexecuted instantiation: <serde::de::value::SeqDeserializer<_, _> as serde::de::SeqAccess>::size_hint
Unexecuted instantiation: <serde::de::value::SeqDeserializer<_, _> as serde::de::SeqAccess>::size_hint
979
}
980
981
struct ExpectedInSeq(usize);
982
983
impl Expected for ExpectedInSeq {
984
11.1k
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
985
11.1k
        if self.0 == 1 {
986
9.06k
            formatter.write_str("1 element in sequence")
987
        } else {
988
2.11k
            write!(formatter, "{} elements in sequence", self.0)
989
        }
990
11.1k
    }
Unexecuted instantiation: <serde::de::value::ExpectedInSeq as serde::de::Expected>::fmt
<serde::de::value::ExpectedInSeq as serde::de::Expected>::fmt
Line
Count
Source
984
11.1k
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
985
11.1k
        if self.0 == 1 {
986
9.06k
            formatter.write_str("1 element in sequence")
987
        } else {
988
2.11k
            write!(formatter, "{} elements in sequence", self.0)
989
        }
990
11.1k
    }
991
}
992
993
impl<I, E> Debug for SeqDeserializer<I, E>
994
where
995
    I: Debug,
996
{
997
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
998
0
        formatter
999
0
            .debug_struct("SeqDeserializer")
1000
0
            .field("iter", &self.iter)
1001
0
            .field("count", &self.count)
1002
0
            .finish()
1003
0
    }
Unexecuted instantiation: <serde::de::value::SeqDeserializer<_, _> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::SeqDeserializer<_, _> as core::fmt::Debug>::fmt
1004
}
1005
1006
////////////////////////////////////////////////////////////////////////////////
1007
1008
#[cfg(any(feature = "std", feature = "alloc"))]
1009
#[cfg_attr(doc_cfg, doc(cfg(any(feature = "std", feature = "alloc"))))]
1010
impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T>
1011
where
1012
    T: IntoDeserializer<'de, E>,
1013
    E: de::Error,
1014
{
1015
    type Deserializer = SeqDeserializer<<Self as IntoIterator>::IntoIter, E>;
1016
1017
0
    fn into_deserializer(self) -> Self::Deserializer {
1018
0
        SeqDeserializer::new(self.into_iter())
1019
0
    }
Unexecuted instantiation: <alloc::vec::Vec<_> as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <alloc::vec::Vec<_> as serde::de::IntoDeserializer<_>>::into_deserializer
1020
}
1021
1022
#[cfg(any(feature = "std", feature = "alloc"))]
1023
#[cfg_attr(doc_cfg, doc(cfg(any(feature = "std", feature = "alloc"))))]
1024
impl<'de, T, E> IntoDeserializer<'de, E> for BTreeSet<T>
1025
where
1026
    T: IntoDeserializer<'de, E> + Eq + Ord,
1027
    E: de::Error,
1028
{
1029
    type Deserializer = SeqDeserializer<<Self as IntoIterator>::IntoIter, E>;
1030
1031
0
    fn into_deserializer(self) -> Self::Deserializer {
1032
0
        SeqDeserializer::new(self.into_iter())
1033
0
    }
Unexecuted instantiation: <alloc::collections::btree::set::BTreeSet<_> as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <alloc::collections::btree::set::BTreeSet<_> as serde::de::IntoDeserializer<_>>::into_deserializer
1034
}
1035
1036
#[cfg(feature = "std")]
1037
#[cfg_attr(doc_cfg, doc(cfg(feature = "std")))]
1038
impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S>
1039
where
1040
    T: IntoDeserializer<'de, E> + Eq + Hash,
1041
    S: BuildHasher,
1042
    E: de::Error,
1043
{
1044
    type Deserializer = SeqDeserializer<<Self as IntoIterator>::IntoIter, E>;
1045
1046
0
    fn into_deserializer(self) -> Self::Deserializer {
1047
0
        SeqDeserializer::new(self.into_iter())
1048
0
    }
Unexecuted instantiation: <std::collections::hash::set::HashSet<_, _> as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <std::collections::hash::set::HashSet<_, _> as serde::de::IntoDeserializer<_>>::into_deserializer
1049
}
1050
1051
////////////////////////////////////////////////////////////////////////////////
1052
1053
/// A deserializer holding a `SeqAccess`.
1054
#[derive(Clone, Debug)]
1055
pub struct SeqAccessDeserializer<A> {
1056
    seq: A,
1057
}
1058
1059
impl<A> SeqAccessDeserializer<A> {
1060
    /// Construct a new `SeqAccessDeserializer<A>`.
1061
0
    pub fn new(seq: A) -> Self {
1062
0
        SeqAccessDeserializer { seq }
1063
0
    }
Unexecuted instantiation: <serde::de::value::SeqAccessDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::SeqAccessDeserializer<_>>::new
1064
}
1065
1066
impl<'de, A> de::Deserializer<'de> for SeqAccessDeserializer<A>
1067
where
1068
    A: de::SeqAccess<'de>,
1069
{
1070
    type Error = A::Error;
1071
1072
0
    fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
1073
0
    where
1074
0
        V: de::Visitor<'de>,
1075
    {
1076
0
        visitor.visit_seq(self.seq)
1077
0
    }
Unexecuted instantiation: <serde::de::value::SeqAccessDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::SeqAccessDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
1078
1079
    forward_to_deserialize_any! {
1080
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
1081
        bytes byte_buf option unit unit_struct newtype_struct seq tuple
1082
        tuple_struct map struct enum identifier ignored_any
1083
    }
1084
}
1085
1086
////////////////////////////////////////////////////////////////////////////////
1087
1088
/// A deserializer that iterates over a map.
1089
pub struct MapDeserializer<'de, I, E>
1090
where
1091
    I: Iterator,
1092
    I::Item: private::Pair,
1093
{
1094
    iter: iter::Fuse<I>,
1095
    value: Option<Second<I::Item>>,
1096
    count: usize,
1097
    lifetime: PhantomData<&'de ()>,
1098
    error: PhantomData<E>,
1099
}
1100
1101
impl<'de, I, E> MapDeserializer<'de, I, E>
1102
where
1103
    I: Iterator,
1104
    I::Item: private::Pair,
1105
{
1106
    /// Construct a new `MapDeserializer<I, E>`.
1107
395k
    pub fn new(iter: I) -> Self {
1108
395k
        MapDeserializer {
1109
395k
            iter: iter.fuse(),
1110
395k
            value: None,
1111
395k
            count: 0,
1112
395k
            lifetime: PhantomData,
1113
395k
            error: PhantomData,
1114
395k
        }
1115
395k
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<alloc::collections::btree::map::BTreeMap<_, _> as serde::de::Deserialize>::deserialize::MapVisitor<alloc::string::String, policy::v1::config::Property>, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Reference as serde::de::Deserialize>::deserialize::ReferenceVisitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _>>::new
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<alloc::collections::btree::map::BTreeMap<_, _> as serde::de::Deserialize>::deserialize::MapVisitor<alloc::string::String, policy::v1::config::Property>, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
94.8k
    pub fn new(iter: I) -> Self {
1108
94.8k
        MapDeserializer {
1109
94.8k
            iter: iter.fuse(),
1110
94.8k
            value: None,
1111
94.8k
            count: 0,
1112
94.8k
            lifetime: PhantomData,
1113
94.8k
            error: PhantomData,
1114
94.8k
        }
1115
94.8k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
59.4k
    pub fn new(iter: I) -> Self {
1108
59.4k
        MapDeserializer {
1109
59.4k
            iter: iter.fuse(),
1110
59.4k
            value: None,
1111
59.4k
            count: 0,
1112
59.4k
            lifetime: PhantomData,
1113
59.4k
            error: PhantomData,
1114
59.4k
        }
1115
59.4k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
1.08k
    pub fn new(iter: I) -> Self {
1108
1.08k
        MapDeserializer {
1109
1.08k
            iter: iter.fuse(),
1110
1.08k
            value: None,
1111
1.08k
            count: 0,
1112
1.08k
            lifetime: PhantomData,
1113
1.08k
            error: PhantomData,
1114
1.08k
        }
1115
1.08k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
59.2k
    pub fn new(iter: I) -> Self {
1108
59.2k
        MapDeserializer {
1109
59.2k
            iter: iter.fuse(),
1110
59.2k
            value: None,
1111
59.2k
            count: 0,
1112
59.2k
            lifetime: PhantomData,
1113
59.2k
            error: PhantomData,
1114
59.2k
        }
1115
59.2k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
2.75k
    pub fn new(iter: I) -> Self {
1108
2.75k
        MapDeserializer {
1109
2.75k
            iter: iter.fuse(),
1110
2.75k
            value: None,
1111
2.75k
            count: 0,
1112
2.75k
            lifetime: PhantomData,
1113
2.75k
            error: PhantomData,
1114
2.75k
        }
1115
2.75k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
57.0k
    pub fn new(iter: I) -> Self {
1108
57.0k
        MapDeserializer {
1109
57.0k
            iter: iter.fuse(),
1110
57.0k
            value: None,
1111
57.0k
            count: 0,
1112
57.0k
            lifetime: PhantomData,
1113
57.0k
            error: PhantomData,
1114
57.0k
        }
1115
57.0k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
2.67k
    pub fn new(iter: I) -> Self {
1108
2.67k
        MapDeserializer {
1109
2.67k
            iter: iter.fuse(),
1110
2.67k
            value: None,
1111
2.67k
            count: 0,
1112
2.67k
            lifetime: PhantomData,
1113
2.67k
            error: PhantomData,
1114
2.67k
        }
1115
2.67k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
56.3k
    pub fn new(iter: I) -> Self {
1108
56.3k
        MapDeserializer {
1109
56.3k
            iter: iter.fuse(),
1110
56.3k
            value: None,
1111
56.3k
            count: 0,
1112
56.3k
            lifetime: PhantomData,
1113
56.3k
            error: PhantomData,
1114
56.3k
        }
1115
56.3k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
57.3k
    pub fn new(iter: I) -> Self {
1108
57.3k
        MapDeserializer {
1109
57.3k
            iter: iter.fuse(),
1110
57.3k
            value: None,
1111
57.3k
            count: 0,
1112
57.3k
            lifetime: PhantomData,
1113
57.3k
            error: PhantomData,
1114
57.3k
        }
1115
57.3k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
4.90k
    pub fn new(iter: I) -> Self {
1108
4.90k
        MapDeserializer {
1109
4.90k
            iter: iter.fuse(),
1110
4.90k
            value: None,
1111
4.90k
            count: 0,
1112
4.90k
            lifetime: PhantomData,
1113
4.90k
            error: PhantomData,
1114
4.90k
        }
1115
4.90k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Reference as serde::de::Deserialize>::deserialize::ReferenceVisitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
206
    pub fn new(iter: I) -> Self {
1108
206
        MapDeserializer {
1109
206
            iter: iter.fuse(),
1110
206
            value: None,
1111
206
            count: 0,
1112
206
            lifetime: PhantomData,
1113
206
            error: PhantomData,
1114
206
        }
1115
206
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _>>::new
1116
}
1117
1118
impl<'de, I, E> MapDeserializer<'de, I, E>
1119
where
1120
    I: Iterator,
1121
    I::Item: private::Pair,
1122
    E: de::Error,
1123
{
1124
    /// Check for remaining elements after passing a `MapDeserializer` to
1125
    /// `Visitor::visit_map`.
1126
199k
    pub fn end(self) -> Result<(), E> {
1127
199k
        let remaining = self.iter.count();
1128
199k
        if remaining == 0 {
1129
199k
            Ok(())
1130
        } else {
1131
            // First argument is the number of elements in the data, second
1132
            // argument is the number of elements expected by the Deserialize.
1133
0
            Err(de::Error::invalid_length(
1134
0
                self.count + remaining,
1135
0
                &ExpectedInMap(self.count),
1136
0
            ))
1137
        }
1138
199k
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<alloc::collections::btree::map::BTreeMap<_, _> as serde::de::Deserialize>::deserialize::MapVisitor<alloc::string::String, policy::v1::config::Property>, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Reference as serde::de::Deserialize>::deserialize::ReferenceVisitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _>>::end
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<alloc::collections::btree::map::BTreeMap<_, _> as serde::de::Deserialize>::deserialize::MapVisitor<alloc::string::String, policy::v1::config::Property>, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Line
Count
Source
1126
82.5k
    pub fn end(self) -> Result<(), E> {
1127
82.5k
        let remaining = self.iter.count();
1128
82.5k
        if remaining == 0 {
1129
82.5k
            Ok(())
1130
        } else {
1131
            // First argument is the number of elements in the data, second
1132
            // argument is the number of elements expected by the Deserialize.
1133
0
            Err(de::Error::invalid_length(
1134
0
                self.count + remaining,
1135
0
                &ExpectedInMap(self.count),
1136
0
            ))
1137
        }
1138
82.5k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Line
Count
Source
1126
214
    pub fn end(self) -> Result<(), E> {
1127
214
        let remaining = self.iter.count();
1128
214
        if remaining == 0 {
1129
214
            Ok(())
1130
        } else {
1131
            // First argument is the number of elements in the data, second
1132
            // argument is the number of elements expected by the Deserialize.
1133
0
            Err(de::Error::invalid_length(
1134
0
                self.count + remaining,
1135
0
                &ExpectedInMap(self.count),
1136
0
            ))
1137
        }
1138
214
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Line
Count
Source
1126
261
    pub fn end(self) -> Result<(), E> {
1127
261
        let remaining = self.iter.count();
1128
261
        if remaining == 0 {
1129
261
            Ok(())
1130
        } else {
1131
            // First argument is the number of elements in the data, second
1132
            // argument is the number of elements expected by the Deserialize.
1133
0
            Err(de::Error::invalid_length(
1134
0
                self.count + remaining,
1135
0
                &ExpectedInMap(self.count),
1136
0
            ))
1137
        }
1138
261
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Line
Count
Source
1126
2.18k
    pub fn end(self) -> Result<(), E> {
1127
2.18k
        let remaining = self.iter.count();
1128
2.18k
        if remaining == 0 {
1129
2.18k
            Ok(())
1130
        } else {
1131
            // First argument is the number of elements in the data, second
1132
            // argument is the number of elements expected by the Deserialize.
1133
0
            Err(de::Error::invalid_length(
1134
0
                self.count + remaining,
1135
0
                &ExpectedInMap(self.count),
1136
0
            ))
1137
        }
1138
2.18k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Line
Count
Source
1126
203
    pub fn end(self) -> Result<(), E> {
1127
203
        let remaining = self.iter.count();
1128
203
        if remaining == 0 {
1129
203
            Ok(())
1130
        } else {
1131
            // First argument is the number of elements in the data, second
1132
            // argument is the number of elements expected by the Deserialize.
1133
0
            Err(de::Error::invalid_length(
1134
0
                self.count + remaining,
1135
0
                &ExpectedInMap(self.count),
1136
0
            ))
1137
        }
1138
203
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Line
Count
Source
1126
650
    pub fn end(self) -> Result<(), E> {
1127
650
        let remaining = self.iter.count();
1128
650
        if remaining == 0 {
1129
650
            Ok(())
1130
        } else {
1131
            // First argument is the number of elements in the data, second
1132
            // argument is the number of elements expected by the Deserialize.
1133
0
            Err(de::Error::invalid_length(
1134
0
                self.count + remaining,
1135
0
                &ExpectedInMap(self.count),
1136
0
            ))
1137
        }
1138
650
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Line
Count
Source
1126
368
    pub fn end(self) -> Result<(), E> {
1127
368
        let remaining = self.iter.count();
1128
368
        if remaining == 0 {
1129
368
            Ok(())
1130
        } else {
1131
            // First argument is the number of elements in the data, second
1132
            // argument is the number of elements expected by the Deserialize.
1133
0
            Err(de::Error::invalid_length(
1134
0
                self.count + remaining,
1135
0
                &ExpectedInMap(self.count),
1136
0
            ))
1137
        }
1138
368
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Line
Count
Source
1126
55.5k
    pub fn end(self) -> Result<(), E> {
1127
55.5k
        let remaining = self.iter.count();
1128
55.5k
        if remaining == 0 {
1129
55.5k
            Ok(())
1130
        } else {
1131
            // First argument is the number of elements in the data, second
1132
            // argument is the number of elements expected by the Deserialize.
1133
0
            Err(de::Error::invalid_length(
1134
0
                self.count + remaining,
1135
0
                &ExpectedInMap(self.count),
1136
0
            ))
1137
        }
1138
55.5k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Line
Count
Source
1126
57.0k
    pub fn end(self) -> Result<(), E> {
1127
57.0k
        let remaining = self.iter.count();
1128
57.0k
        if remaining == 0 {
1129
57.0k
            Ok(())
1130
        } else {
1131
            // First argument is the number of elements in the data, second
1132
            // argument is the number of elements expected by the Deserialize.
1133
0
            Err(de::Error::invalid_length(
1134
0
                self.count + remaining,
1135
0
                &ExpectedInMap(self.count),
1136
0
            ))
1137
        }
1138
57.0k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Line
Count
Source
1126
231
    pub fn end(self) -> Result<(), E> {
1127
231
        let remaining = self.iter.count();
1128
231
        if remaining == 0 {
1129
231
            Ok(())
1130
        } else {
1131
            // First argument is the number of elements in the data, second
1132
            // argument is the number of elements expected by the Deserialize.
1133
0
            Err(de::Error::invalid_length(
1134
0
                self.count + remaining,
1135
0
                &ExpectedInMap(self.count),
1136
0
            ))
1137
        }
1138
231
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Reference as serde::de::Deserialize>::deserialize::ReferenceVisitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _>>::end
1139
}
1140
1141
impl<'de, I, E> MapDeserializer<'de, I, E>
1142
where
1143
    I: Iterator,
1144
    I::Item: private::Pair,
1145
{
1146
1.41M
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
1.41M
        match self.iter.next() {
1148
1.09M
            Some(kv) => {
1149
1.09M
                self.count += 1;
1150
1.09M
                Some(private::Pair::split(kv))
1151
            }
1152
319k
            None => None,
1153
        }
1154
1.41M
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<alloc::collections::btree::map::BTreeMap<_, _> as serde::de::Deserialize>::deserialize::MapVisitor<alloc::string::String, policy::v1::config::Property>, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _>>::next_pair
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<alloc::collections::btree::map::BTreeMap<_, _> as serde::de::Deserialize>::deserialize::MapVisitor<alloc::string::String, policy::v1::config::Property>, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
353k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
353k
        match self.iter.next() {
1148
270k
            Some(kv) => {
1149
270k
                self.count += 1;
1150
270k
                Some(private::Pair::split(kv))
1151
            }
1152
82.5k
            None => None,
1153
        }
1154
353k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
193k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
193k
        match self.iter.next() {
1148
140k
            Some(kv) => {
1149
140k
                self.count += 1;
1150
140k
                Some(private::Pair::split(kv))
1151
            }
1152
53.0k
            None => None,
1153
        }
1154
193k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
8.54k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
8.54k
        match self.iter.next() {
1148
7.84k
            Some(kv) => {
1149
7.84k
                self.count += 1;
1150
7.84k
                Some(private::Pair::split(kv))
1151
            }
1152
695
            None => None,
1153
        }
1154
8.54k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
191k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
191k
        match self.iter.next() {
1148
139k
            Some(kv) => {
1149
139k
                self.count += 1;
1150
139k
                Some(private::Pair::split(kv))
1151
            }
1152
52.0k
            None => None,
1153
        }
1154
191k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
83.7k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
83.7k
        match self.iter.next() {
1148
81.7k
            Some(kv) => {
1149
81.7k
                self.count += 1;
1150
81.7k
                Some(private::Pair::split(kv))
1151
            }
1152
2.06k
            None => None,
1153
        }
1154
83.7k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
102k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
102k
        match self.iter.next() {
1148
91.6k
            Some(kv) => {
1149
91.6k
                self.count += 1;
1150
91.6k
                Some(private::Pair::split(kv))
1151
            }
1152
11.0k
            None => None,
1153
        }
1154
102k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
80.8k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
80.8k
        match self.iter.next() {
1148
78.7k
            Some(kv) => {
1149
78.7k
                self.count += 1;
1150
78.7k
                Some(private::Pair::split(kv))
1151
            }
1152
2.12k
            None => None,
1153
        }
1154
80.8k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
197k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
197k
        match self.iter.next() {
1148
141k
            Some(kv) => {
1149
141k
                self.count += 1;
1150
141k
                Some(private::Pair::split(kv))
1151
            }
1152
56.1k
            None => None,
1153
        }
1154
197k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
191k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
191k
        match self.iter.next() {
1148
134k
            Some(kv) => {
1149
134k
                self.count += 1;
1150
134k
                Some(private::Pair::split(kv))
1151
            }
1152
57.3k
            None => None,
1153
        }
1154
191k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
15.8k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
15.8k
        match self.iter.next() {
1148
12.8k
            Some(kv) => {
1149
12.8k
                self.count += 1;
1150
12.8k
                Some(private::Pair::split(kv))
1151
            }
1152
2.95k
            None => None,
1153
        }
1154
15.8k
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _>>::next_pair
1155
}
1156
1157
impl<'de, I, E> de::Deserializer<'de> for MapDeserializer<'de, I, E>
1158
where
1159
    I: Iterator,
1160
    I::Item: private::Pair,
1161
    First<I::Item>: IntoDeserializer<'de, E>,
1162
    Second<I::Item>: IntoDeserializer<'de, E>,
1163
    E: de::Error,
1164
{
1165
    type Error = E;
1166
1167
0
    fn deserialize_any<V>(mut self, visitor: V) -> Result<V::Value, Self::Error>
1168
0
    where
1169
0
        V: de::Visitor<'de>,
1170
    {
1171
0
        let value = tri!(visitor.visit_map(&mut self));
1172
0
        tri!(self.end());
1173
0
        Ok(value)
1174
0
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::Deserializer>::deserialize_any::<_>
1175
1176
0
    fn deserialize_seq<V>(mut self, visitor: V) -> Result<V::Value, Self::Error>
1177
0
    where
1178
0
        V: de::Visitor<'de>,
1179
    {
1180
0
        let value = tri!(visitor.visit_seq(&mut self));
1181
0
        tri!(self.end());
1182
0
        Ok(value)
1183
0
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::Deserializer>::deserialize_seq::<_>
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::Deserializer>::deserialize_seq::<_>
1184
1185
0
    fn deserialize_tuple<V>(self, len: usize, visitor: V) -> Result<V::Value, Self::Error>
1186
0
    where
1187
0
        V: de::Visitor<'de>,
1188
    {
1189
0
        let _ = len;
1190
0
        self.deserialize_seq(visitor)
1191
0
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::Deserializer>::deserialize_tuple::<_>
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::Deserializer>::deserialize_tuple::<_>
1192
1193
    forward_to_deserialize_any! {
1194
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
1195
        bytes byte_buf option unit unit_struct newtype_struct tuple_struct map
1196
        struct enum identifier ignored_any
1197
    }
1198
}
1199
1200
impl<'de, I, E> de::MapAccess<'de> for MapDeserializer<'de, I, E>
1201
where
1202
    I: Iterator,
1203
    I::Item: private::Pair,
1204
    First<I::Item>: IntoDeserializer<'de, E>,
1205
    Second<I::Item>: IntoDeserializer<'de, E>,
1206
    E: de::Error,
1207
{
1208
    type Error = E;
1209
1210
1.06M
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
1.06M
    where
1212
1.06M
        T: de::DeserializeSeed<'de>,
1213
    {
1214
1.06M
        match self.next_pair() {
1215
828k
            Some((key, value)) => {
1216
828k
                self.value = Some(value);
1217
828k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
237k
            None => Ok(None),
1220
        }
1221
1.06M
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Field>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Field>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Field>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Field>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Field>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Field>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Field>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Field>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Field>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::MapAccess>::next_key_seed::<_>
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Field>>
Line
Count
Source
1210
193k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
193k
    where
1212
193k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
193k
        match self.next_pair() {
1215
140k
            Some((key, value)) => {
1216
140k
                self.value = Some(value);
1217
140k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
53.0k
            None => Ok(None),
1220
        }
1221
193k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Field>>
Line
Count
Source
1210
8.54k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
8.54k
    where
1212
8.54k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
8.54k
        match self.next_pair() {
1215
7.84k
            Some((key, value)) => {
1216
7.84k
                self.value = Some(value);
1217
7.84k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
695
            None => Ok(None),
1220
        }
1221
8.54k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Field>>
Line
Count
Source
1210
191k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
191k
    where
1212
191k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
191k
        match self.next_pair() {
1215
139k
            Some((key, value)) => {
1216
139k
                self.value = Some(value);
1217
139k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
52.0k
            None => Ok(None),
1220
        }
1221
191k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Field>>
Line
Count
Source
1210
83.7k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
83.7k
    where
1212
83.7k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
83.7k
        match self.next_pair() {
1215
81.7k
            Some((key, value)) => {
1216
81.7k
                self.value = Some(value);
1217
81.7k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
2.06k
            None => Ok(None),
1220
        }
1221
83.7k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Field>>
Line
Count
Source
1210
102k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
102k
    where
1212
102k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
102k
        match self.next_pair() {
1215
91.6k
            Some((key, value)) => {
1216
91.6k
                self.value = Some(value);
1217
91.6k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
11.0k
            None => Ok(None),
1220
        }
1221
102k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Field>>
Line
Count
Source
1210
80.8k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
80.8k
    where
1212
80.8k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
80.8k
        match self.next_pair() {
1215
78.7k
            Some((key, value)) => {
1216
78.7k
                self.value = Some(value);
1217
78.7k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
2.12k
            None => Ok(None),
1220
        }
1221
80.8k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Field>>
Line
Count
Source
1210
197k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
197k
    where
1212
197k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
197k
        match self.next_pair() {
1215
141k
            Some((key, value)) => {
1216
141k
                self.value = Some(value);
1217
141k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
56.1k
            None => Ok(None),
1220
        }
1221
197k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Field>>
Line
Count
Source
1210
191k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
191k
    where
1212
191k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
191k
        match self.next_pair() {
1215
134k
            Some((key, value)) => {
1216
134k
                self.value = Some(value);
1217
134k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
57.3k
            None => Ok(None),
1220
        }
1221
191k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_key_seed::<core::marker::PhantomData<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Field>>
Line
Count
Source
1210
15.8k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
15.8k
    where
1212
15.8k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
15.8k
        match self.next_pair() {
1215
12.8k
            Some((key, value)) => {
1216
12.8k
                self.value = Some(value);
1217
12.8k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
2.95k
            None => Ok(None),
1220
        }
1221
15.8k
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::MapAccess>::next_key_seed::<_>
1222
1223
826k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
826k
    where
1225
826k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
826k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
826k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
826k
        seed.deserialize(value.into_deserializer())
1232
826k
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<policy::v1::config::Platform>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<alloc::string::String>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<policy::v1::config::QeIdentity>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<policy::v1::config::TdxModule>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<policy::v1::config::TdInfo>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<core::option::Option<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<policy::v1::config::Operation>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<policy::v1::config::Reference>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::MapAccess>::next_value_seed::<_>
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<policy::v1::config::Platform>>
Line
Count
Source
1223
4.27k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
4.27k
    where
1225
4.27k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
4.27k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
4.27k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
4.27k
        seed.deserialize(value.into_deserializer())
1232
4.27k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Line
Count
Source
1223
132k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
132k
    where
1225
132k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
132k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
132k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
132k
        seed.deserialize(value.into_deserializer())
1232
132k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<alloc::string::String>>
Line
Count
Source
1223
3.16k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
3.16k
    where
1225
3.16k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
3.16k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
3.16k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
3.16k
        seed.deserialize(value.into_deserializer())
1232
3.16k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>
Line
Count
Source
1223
651
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
651
    where
1225
651
        T: de::DeserializeSeed<'de>,
1226
    {
1227
651
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
651
        let value = value.expect("MapAccess::next_value called before next_key");
1231
651
        seed.deserialize(value.into_deserializer())
1232
651
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Line
Count
Source
1223
7.00k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
7.00k
    where
1225
7.00k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
7.00k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
7.00k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
7.00k
        seed.deserialize(value.into_deserializer())
1232
7.00k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<policy::v1::config::QeIdentity>>
Line
Count
Source
1223
9.30k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
9.30k
    where
1225
9.30k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
9.30k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
9.30k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
9.30k
        seed.deserialize(value.into_deserializer())
1232
9.30k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Line
Count
Source
1223
130k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
130k
    where
1225
130k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
130k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
130k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
130k
        seed.deserialize(value.into_deserializer())
1232
130k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>
Line
Count
Source
1223
894
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
894
    where
1225
894
        T: de::DeserializeSeed<'de>,
1226
    {
1227
894
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
894
        let value = value.expect("MapAccess::next_value called before next_key");
1231
894
        seed.deserialize(value.into_deserializer())
1232
894
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Line
Count
Source
1223
80.5k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
80.5k
    where
1225
80.5k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
80.5k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
80.5k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
80.5k
        seed.deserialize(value.into_deserializer())
1232
80.5k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<policy::v1::config::TdxModule>>
Line
Count
Source
1223
46.6k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
46.6k
    where
1225
46.6k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
46.6k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
46.6k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
46.6k
        seed.deserialize(value.into_deserializer())
1232
46.6k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Line
Count
Source
1223
44.6k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
44.6k
    where
1225
44.6k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
44.6k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
44.6k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
44.6k
        seed.deserialize(value.into_deserializer())
1232
44.6k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>
Line
Count
Source
1223
919
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
919
    where
1225
919
        T: de::DeserializeSeed<'de>,
1226
    {
1227
919
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
919
        let value = value.expect("MapAccess::next_value called before next_key");
1231
919
        seed.deserialize(value.into_deserializer())
1232
919
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Line
Count
Source
1223
77.4k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
77.4k
    where
1225
77.4k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
77.4k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
77.4k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
77.4k
        seed.deserialize(value.into_deserializer())
1232
77.4k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<policy::v1::config::TdInfo>>
Line
Count
Source
1223
55.7k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
55.7k
    where
1225
55.7k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
55.7k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
55.7k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
55.7k
        seed.deserialize(value.into_deserializer())
1232
55.7k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Line
Count
Source
1223
85.6k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
85.6k
    where
1225
85.6k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
85.6k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
85.6k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
85.6k
        seed.deserialize(value.into_deserializer())
1232
85.6k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<core::option::Option<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>>
Line
Count
Source
1223
438
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
438
    where
1225
438
        T: de::DeserializeSeed<'de>,
1226
    {
1227
438
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
438
        let value = value.expect("MapAccess::next_value called before next_key");
1231
438
        seed.deserialize(value.into_deserializer())
1232
438
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<alloc::collections::btree::map::BTreeMap<alloc::string::String, policy::v1::config::Property>>>
Line
Count
Source
1223
57.0k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
57.0k
    where
1225
57.0k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
57.0k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
57.0k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
57.0k
        seed.deserialize(value.into_deserializer())
1232
57.0k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Line
Count
Source
1223
76.8k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
76.8k
    where
1225
76.8k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
76.8k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
76.8k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
76.8k
        seed.deserialize(value.into_deserializer())
1232
76.8k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<policy::v1::config::Operation>>
Line
Count
Source
1223
846
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
846
    where
1225
846
        T: de::DeserializeSeed<'de>,
1226
    {
1227
846
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
846
        let value = value.expect("MapAccess::next_value called before next_key");
1231
846
        seed.deserialize(value.into_deserializer())
1232
846
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<policy::v1::config::Reference>>
Line
Count
Source
1223
3.19k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
3.19k
    where
1225
3.19k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
3.19k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
3.19k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
3.19k
        seed.deserialize(value.into_deserializer())
1232
3.19k
    }
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<policy::v1::config::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Line
Count
Source
1223
8.36k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
8.36k
    where
1225
8.36k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
8.36k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
8.36k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
8.36k
        seed.deserialize(value.into_deserializer())
1232
8.36k
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::MapAccess>::next_value_seed::<_>
1233
1234
353k
    fn next_entry_seed<TK, TV>(
1235
353k
        &mut self,
1236
353k
        kseed: TK,
1237
353k
        vseed: TV,
1238
353k
    ) -> Result<Option<(TK::Value, TV::Value)>, Self::Error>
1239
353k
    where
1240
353k
        TK: de::DeserializeSeed<'de>,
1241
353k
        TV: de::DeserializeSeed<'de>,
1242
    {
1243
353k
        match self.next_pair() {
1244
270k
            Some((key, value)) => {
1245
270k
                let key = tri!(kseed.deserialize(key.into_deserializer()));
1246
270k
                let value = tri!(vseed.deserialize(value.into_deserializer()));
1247
258k
                Ok(Some((key, value)))
1248
            }
1249
82.5k
            None => Ok(None),
1250
        }
1251
353k
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<alloc::collections::btree::map::BTreeMap<_, _> as serde::de::Deserialize>::deserialize::MapVisitor<alloc::string::String, policy::v1::config::Property>, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_entry_seed::<core::marker::PhantomData<alloc::string::String>, core::marker::PhantomData<policy::v1::config::Property>>
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::MapAccess>::next_entry_seed::<_, _>
<serde::de::value::MapDeserializer<core::iter::adapters::map::Map<core::slice::iter::Iter<(serde::__private::de::content::Content, serde::__private::de::content::Content)>, serde::__private::de::content::visit_content_map_ref<<alloc::collections::btree::map::BTreeMap<_, _> as serde::de::Deserialize>::deserialize::MapVisitor<alloc::string::String, policy::v1::config::Property>, serde_json::error::Error>::{closure#0}>, serde_json::error::Error> as serde::de::MapAccess>::next_entry_seed::<core::marker::PhantomData<alloc::string::String>, core::marker::PhantomData<policy::v1::config::Property>>
Line
Count
Source
1234
353k
    fn next_entry_seed<TK, TV>(
1235
353k
        &mut self,
1236
353k
        kseed: TK,
1237
353k
        vseed: TV,
1238
353k
    ) -> Result<Option<(TK::Value, TV::Value)>, Self::Error>
1239
353k
    where
1240
353k
        TK: de::DeserializeSeed<'de>,
1241
353k
        TV: de::DeserializeSeed<'de>,
1242
    {
1243
353k
        match self.next_pair() {
1244
270k
            Some((key, value)) => {
1245
270k
                let key = tri!(kseed.deserialize(key.into_deserializer()));
1246
270k
                let value = tri!(vseed.deserialize(value.into_deserializer()));
1247
258k
                Ok(Some((key, value)))
1248
            }
1249
82.5k
            None => Ok(None),
1250
        }
1251
353k
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::MapAccess>::next_entry_seed::<_, _>
1252
1253
0
    fn size_hint(&self) -> Option<usize> {
1254
0
        size_hint::from_bounds(&self.iter)
1255
0
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::MapAccess>::size_hint
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::MapAccess>::size_hint
1256
}
1257
1258
impl<'de, I, E> de::SeqAccess<'de> for MapDeserializer<'de, I, E>
1259
where
1260
    I: Iterator,
1261
    I::Item: private::Pair,
1262
    First<I::Item>: IntoDeserializer<'de, E>,
1263
    Second<I::Item>: IntoDeserializer<'de, E>,
1264
    E: de::Error,
1265
{
1266
    type Error = E;
1267
1268
0
    fn next_element_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1269
0
    where
1270
0
        T: de::DeserializeSeed<'de>,
1271
    {
1272
0
        match self.next_pair() {
1273
0
            Some((k, v)) => {
1274
0
                let de = PairDeserializer(k, v, PhantomData);
1275
0
                seed.deserialize(de).map(Some)
1276
            }
1277
0
            None => Ok(None),
1278
        }
1279
0
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::SeqAccess>::next_element_seed::<_>
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::SeqAccess>::next_element_seed::<_>
1280
1281
0
    fn size_hint(&self) -> Option<usize> {
1282
0
        size_hint::from_bounds(&self.iter)
1283
0
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::SeqAccess>::size_hint
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::SeqAccess>::size_hint
1284
}
1285
1286
// Cannot #[derive(Clone)] because of the bound `Second<I::Item>: Clone`.
1287
impl<'de, I, E> Clone for MapDeserializer<'de, I, E>
1288
where
1289
    I: Iterator + Clone,
1290
    I::Item: private::Pair,
1291
    Second<I::Item>: Clone,
1292
{
1293
0
    fn clone(&self) -> Self {
1294
0
        MapDeserializer {
1295
0
            iter: self.iter.clone(),
1296
0
            value: self.value.clone(),
1297
0
            count: self.count,
1298
0
            lifetime: self.lifetime,
1299
0
            error: self.error,
1300
0
        }
1301
0
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as core::clone::Clone>::clone
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as core::clone::Clone>::clone
1302
}
1303
1304
impl<'de, I, E> Debug for MapDeserializer<'de, I, E>
1305
where
1306
    I: Iterator + Debug,
1307
    I::Item: private::Pair,
1308
    Second<I::Item>: Debug,
1309
{
1310
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1311
0
        formatter
1312
0
            .debug_struct("MapDeserializer")
1313
0
            .field("iter", &self.iter)
1314
0
            .field("value", &self.value)
1315
0
            .field("count", &self.count)
1316
0
            .finish()
1317
0
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as core::fmt::Debug>::fmt
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as core::fmt::Debug>::fmt
1318
}
1319
1320
// Used in the `impl SeqAccess for MapDeserializer` to visit the map as a
1321
// sequence of pairs.
1322
struct PairDeserializer<A, B, E>(A, B, PhantomData<E>);
1323
1324
impl<'de, A, B, E> de::Deserializer<'de> for PairDeserializer<A, B, E>
1325
where
1326
    A: IntoDeserializer<'de, E>,
1327
    B: IntoDeserializer<'de, E>,
1328
    E: de::Error,
1329
{
1330
    type Error = E;
1331
1332
    forward_to_deserialize_any! {
1333
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
1334
        bytes byte_buf option unit unit_struct newtype_struct tuple_struct map
1335
        struct enum identifier ignored_any
1336
    }
1337
1338
0
    fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
1339
0
    where
1340
0
        V: de::Visitor<'de>,
1341
    {
1342
0
        self.deserialize_seq(visitor)
1343
0
    }
Unexecuted instantiation: <serde::de::value::PairDeserializer<_, _, _> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::PairDeserializer<_, _, _> as serde::de::Deserializer>::deserialize_any::<_>
1344
1345
0
    fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, Self::Error>
1346
0
    where
1347
0
        V: de::Visitor<'de>,
1348
    {
1349
0
        let mut pair_visitor = PairVisitor(Some(self.0), Some(self.1), PhantomData);
1350
0
        let pair = tri!(visitor.visit_seq(&mut pair_visitor));
1351
0
        if pair_visitor.1.is_none() {
1352
0
            Ok(pair)
1353
        } else {
1354
0
            let remaining = pair_visitor.size_hint().unwrap();
1355
            // First argument is the number of elements in the data, second
1356
            // argument is the number of elements expected by the Deserialize.
1357
0
            Err(de::Error::invalid_length(2, &ExpectedInSeq(2 - remaining)))
1358
        }
1359
0
    }
Unexecuted instantiation: <serde::de::value::PairDeserializer<_, _, _> as serde::de::Deserializer>::deserialize_seq::<_>
Unexecuted instantiation: <serde::de::value::PairDeserializer<_, _, _> as serde::de::Deserializer>::deserialize_seq::<_>
1360
1361
0
    fn deserialize_tuple<V>(self, len: usize, visitor: V) -> Result<V::Value, Self::Error>
1362
0
    where
1363
0
        V: de::Visitor<'de>,
1364
    {
1365
0
        if len == 2 {
1366
0
            self.deserialize_seq(visitor)
1367
        } else {
1368
            // First argument is the number of elements in the data, second
1369
            // argument is the number of elements expected by the Deserialize.
1370
0
            Err(de::Error::invalid_length(2, &ExpectedInSeq(len)))
1371
        }
1372
0
    }
Unexecuted instantiation: <serde::de::value::PairDeserializer<_, _, _> as serde::de::Deserializer>::deserialize_tuple::<_>
Unexecuted instantiation: <serde::de::value::PairDeserializer<_, _, _> as serde::de::Deserializer>::deserialize_tuple::<_>
1373
}
1374
1375
struct PairVisitor<A, B, E>(Option<A>, Option<B>, PhantomData<E>);
1376
1377
impl<'de, A, B, E> de::SeqAccess<'de> for PairVisitor<A, B, E>
1378
where
1379
    A: IntoDeserializer<'de, E>,
1380
    B: IntoDeserializer<'de, E>,
1381
    E: de::Error,
1382
{
1383
    type Error = E;
1384
1385
0
    fn next_element_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1386
0
    where
1387
0
        T: de::DeserializeSeed<'de>,
1388
    {
1389
0
        if let Some(k) = self.0.take() {
1390
0
            seed.deserialize(k.into_deserializer()).map(Some)
1391
0
        } else if let Some(v) = self.1.take() {
1392
0
            seed.deserialize(v.into_deserializer()).map(Some)
1393
        } else {
1394
0
            Ok(None)
1395
        }
1396
0
    }
Unexecuted instantiation: <serde::de::value::PairVisitor<_, _, _> as serde::de::SeqAccess>::next_element_seed::<_>
Unexecuted instantiation: <serde::de::value::PairVisitor<_, _, _> as serde::de::SeqAccess>::next_element_seed::<_>
1397
1398
0
    fn size_hint(&self) -> Option<usize> {
1399
0
        if self.0.is_some() {
1400
0
            Some(2)
1401
0
        } else if self.1.is_some() {
1402
0
            Some(1)
1403
        } else {
1404
0
            Some(0)
1405
        }
1406
0
    }
Unexecuted instantiation: <serde::de::value::PairVisitor<_, _, _> as serde::de::SeqAccess>::size_hint
Unexecuted instantiation: <serde::de::value::PairVisitor<_, _, _> as serde::de::SeqAccess>::size_hint
1407
}
1408
1409
struct ExpectedInMap(usize);
1410
1411
impl Expected for ExpectedInMap {
1412
0
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1413
0
        if self.0 == 1 {
1414
0
            formatter.write_str("1 element in map")
1415
        } else {
1416
0
            write!(formatter, "{} elements in map", self.0)
1417
        }
1418
0
    }
Unexecuted instantiation: <serde::de::value::ExpectedInMap as serde::de::Expected>::fmt
Unexecuted instantiation: <serde::de::value::ExpectedInMap as serde::de::Expected>::fmt
1419
}
1420
1421
////////////////////////////////////////////////////////////////////////////////
1422
1423
#[cfg(any(feature = "std", feature = "alloc"))]
1424
#[cfg_attr(doc_cfg, doc(cfg(any(feature = "std", feature = "alloc"))))]
1425
impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
1426
where
1427
    K: IntoDeserializer<'de, E> + Eq + Ord,
1428
    V: IntoDeserializer<'de, E>,
1429
    E: de::Error,
1430
{
1431
    type Deserializer = MapDeserializer<'de, <Self as IntoIterator>::IntoIter, E>;
1432
1433
0
    fn into_deserializer(self) -> Self::Deserializer {
1434
0
        MapDeserializer::new(self.into_iter())
1435
0
    }
Unexecuted instantiation: <alloc::collections::btree::map::BTreeMap<_, _> as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <alloc::collections::btree::map::BTreeMap<_, _> as serde::de::IntoDeserializer<_>>::into_deserializer
1436
}
1437
1438
#[cfg(feature = "std")]
1439
#[cfg_attr(doc_cfg, doc(cfg(feature = "std")))]
1440
impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
1441
where
1442
    K: IntoDeserializer<'de, E> + Eq + Hash,
1443
    V: IntoDeserializer<'de, E>,
1444
    S: BuildHasher,
1445
    E: de::Error,
1446
{
1447
    type Deserializer = MapDeserializer<'de, <Self as IntoIterator>::IntoIter, E>;
1448
1449
0
    fn into_deserializer(self) -> Self::Deserializer {
1450
0
        MapDeserializer::new(self.into_iter())
1451
0
    }
Unexecuted instantiation: <std::collections::hash::map::HashMap<_, _, _> as serde::de::IntoDeserializer<_>>::into_deserializer
Unexecuted instantiation: <std::collections::hash::map::HashMap<_, _, _> as serde::de::IntoDeserializer<_>>::into_deserializer
1452
}
1453
1454
////////////////////////////////////////////////////////////////////////////////
1455
1456
/// A deserializer holding a `MapAccess`.
1457
#[derive(Clone, Debug)]
1458
pub struct MapAccessDeserializer<A> {
1459
    map: A,
1460
}
1461
1462
impl<A> MapAccessDeserializer<A> {
1463
    /// Construct a new `MapAccessDeserializer<A>`.
1464
0
    pub fn new(map: A) -> Self {
1465
0
        MapAccessDeserializer { map }
1466
0
    }
Unexecuted instantiation: <serde::de::value::MapAccessDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::MapAccessDeserializer<_>>::new
1467
}
1468
1469
impl<'de, A> de::Deserializer<'de> for MapAccessDeserializer<A>
1470
where
1471
    A: de::MapAccess<'de>,
1472
{
1473
    type Error = A::Error;
1474
1475
0
    fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
1476
0
    where
1477
0
        V: de::Visitor<'de>,
1478
    {
1479
0
        visitor.visit_map(self.map)
1480
0
    }
Unexecuted instantiation: <serde::de::value::MapAccessDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::MapAccessDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
1481
1482
0
    fn deserialize_enum<V>(
1483
0
        self,
1484
0
        _name: &str,
1485
0
        _variants: &'static [&'static str],
1486
0
        visitor: V,
1487
0
    ) -> Result<V::Value, Self::Error>
1488
0
    where
1489
0
        V: de::Visitor<'de>,
1490
    {
1491
0
        visitor.visit_enum(self)
1492
0
    }
Unexecuted instantiation: <serde::de::value::MapAccessDeserializer<_> as serde::de::Deserializer>::deserialize_enum::<_>
Unexecuted instantiation: <serde::de::value::MapAccessDeserializer<_> as serde::de::Deserializer>::deserialize_enum::<_>
1493
1494
    forward_to_deserialize_any! {
1495
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
1496
        bytes byte_buf option unit unit_struct newtype_struct seq tuple
1497
        tuple_struct map struct identifier ignored_any
1498
    }
1499
}
1500
1501
impl<'de, A> de::EnumAccess<'de> for MapAccessDeserializer<A>
1502
where
1503
    A: de::MapAccess<'de>,
1504
{
1505
    type Error = A::Error;
1506
    type Variant = private::MapAsEnum<A>;
1507
1508
0
    fn variant_seed<T>(mut self, seed: T) -> Result<(T::Value, Self::Variant), Self::Error>
1509
0
    where
1510
0
        T: de::DeserializeSeed<'de>,
1511
    {
1512
0
        match tri!(self.map.next_key_seed(seed)) {
1513
0
            Some(key) => Ok((key, private::map_as_enum(self.map))),
1514
0
            None => Err(de::Error::invalid_type(de::Unexpected::Map, &"enum")),
1515
        }
1516
0
    }
Unexecuted instantiation: <serde::de::value::MapAccessDeserializer<_> as serde::de::EnumAccess>::variant_seed::<_>
Unexecuted instantiation: <serde::de::value::MapAccessDeserializer<_> as serde::de::EnumAccess>::variant_seed::<_>
1517
}
1518
1519
////////////////////////////////////////////////////////////////////////////////
1520
1521
/// A deserializer holding an `EnumAccess`.
1522
#[derive(Clone, Debug)]
1523
pub struct EnumAccessDeserializer<A> {
1524
    access: A,
1525
}
1526
1527
impl<A> EnumAccessDeserializer<A> {
1528
    /// Construct a new `EnumAccessDeserializer<A>`.
1529
0
    pub fn new(access: A) -> Self {
1530
0
        EnumAccessDeserializer { access }
1531
0
    }
Unexecuted instantiation: <serde::de::value::EnumAccessDeserializer<_>>::new
Unexecuted instantiation: <serde::de::value::EnumAccessDeserializer<_>>::new
1532
}
1533
1534
impl<'de, A> de::Deserializer<'de> for EnumAccessDeserializer<A>
1535
where
1536
    A: de::EnumAccess<'de>,
1537
{
1538
    type Error = A::Error;
1539
1540
0
    fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
1541
0
    where
1542
0
        V: de::Visitor<'de>,
1543
    {
1544
0
        visitor.visit_enum(self.access)
1545
0
    }
Unexecuted instantiation: <serde::de::value::EnumAccessDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
Unexecuted instantiation: <serde::de::value::EnumAccessDeserializer<_> as serde::de::Deserializer>::deserialize_any::<_>
1546
1547
    forward_to_deserialize_any! {
1548
        bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string
1549
        bytes byte_buf option unit unit_struct newtype_struct seq tuple
1550
        tuple_struct map struct enum identifier ignored_any
1551
    }
1552
}
1553
1554
////////////////////////////////////////////////////////////////////////////////
1555
1556
mod private {
1557
    use crate::lib::*;
1558
1559
    use crate::de::{
1560
        self, DeserializeSeed, Deserializer, MapAccess, Unexpected, VariantAccess, Visitor,
1561
    };
1562
1563
    pub struct UnitOnly<E> {
1564
        marker: PhantomData<E>,
1565
    }
1566
1567
0
    pub fn unit_only<T, E>(t: T) -> (T, UnitOnly<E>) {
1568
0
        (
1569
0
            t,
1570
0
            UnitOnly {
1571
0
                marker: PhantomData,
1572
0
            },
1573
0
        )
1574
0
    }
Unexecuted instantiation: serde::de::value::private::unit_only::<_, _>
Unexecuted instantiation: serde::de::value::private::unit_only::<_, _>
1575
1576
    impl<'de, E> de::VariantAccess<'de> for UnitOnly<E>
1577
    where
1578
        E: de::Error,
1579
    {
1580
        type Error = E;
1581
1582
0
        fn unit_variant(self) -> Result<(), Self::Error> {
1583
0
            Ok(())
1584
0
        }
Unexecuted instantiation: <serde::de::value::private::UnitOnly<_> as serde::de::VariantAccess>::unit_variant
Unexecuted instantiation: <serde::de::value::private::UnitOnly<_> as serde::de::VariantAccess>::unit_variant
1585
1586
0
        fn newtype_variant_seed<T>(self, _seed: T) -> Result<T::Value, Self::Error>
1587
0
        where
1588
0
            T: de::DeserializeSeed<'de>,
1589
        {
1590
0
            Err(de::Error::invalid_type(
1591
0
                Unexpected::UnitVariant,
1592
0
                &"newtype variant",
1593
0
            ))
1594
0
        }
Unexecuted instantiation: <serde::de::value::private::UnitOnly<_> as serde::de::VariantAccess>::newtype_variant_seed::<_>
Unexecuted instantiation: <serde::de::value::private::UnitOnly<_> as serde::de::VariantAccess>::newtype_variant_seed::<_>
1595
1596
0
        fn tuple_variant<V>(self, _len: usize, _visitor: V) -> Result<V::Value, Self::Error>
1597
0
        where
1598
0
            V: de::Visitor<'de>,
1599
        {
1600
0
            Err(de::Error::invalid_type(
1601
0
                Unexpected::UnitVariant,
1602
0
                &"tuple variant",
1603
0
            ))
1604
0
        }
Unexecuted instantiation: <serde::de::value::private::UnitOnly<_> as serde::de::VariantAccess>::tuple_variant::<_>
Unexecuted instantiation: <serde::de::value::private::UnitOnly<_> as serde::de::VariantAccess>::tuple_variant::<_>
1605
1606
0
        fn struct_variant<V>(
1607
0
            self,
1608
0
            _fields: &'static [&'static str],
1609
0
            _visitor: V,
1610
0
        ) -> Result<V::Value, Self::Error>
1611
0
        where
1612
0
            V: de::Visitor<'de>,
1613
        {
1614
0
            Err(de::Error::invalid_type(
1615
0
                Unexpected::UnitVariant,
1616
0
                &"struct variant",
1617
0
            ))
1618
0
        }
Unexecuted instantiation: <serde::de::value::private::UnitOnly<_> as serde::de::VariantAccess>::struct_variant::<_>
Unexecuted instantiation: <serde::de::value::private::UnitOnly<_> as serde::de::VariantAccess>::struct_variant::<_>
1619
    }
1620
1621
    pub struct MapAsEnum<A> {
1622
        map: A,
1623
    }
1624
1625
0
    pub fn map_as_enum<A>(map: A) -> MapAsEnum<A> {
1626
0
        MapAsEnum { map }
1627
0
    }
Unexecuted instantiation: serde::de::value::private::map_as_enum::<_>
Unexecuted instantiation: serde::de::value::private::map_as_enum::<_>
1628
1629
    impl<'de, A> VariantAccess<'de> for MapAsEnum<A>
1630
    where
1631
        A: MapAccess<'de>,
1632
    {
1633
        type Error = A::Error;
1634
1635
0
        fn unit_variant(mut self) -> Result<(), Self::Error> {
1636
0
            self.map.next_value()
1637
0
        }
Unexecuted instantiation: <serde::de::value::private::MapAsEnum<_> as serde::de::VariantAccess>::unit_variant
Unexecuted instantiation: <serde::de::value::private::MapAsEnum<_> as serde::de::VariantAccess>::unit_variant
1638
1639
0
        fn newtype_variant_seed<T>(mut self, seed: T) -> Result<T::Value, Self::Error>
1640
0
        where
1641
0
            T: DeserializeSeed<'de>,
1642
        {
1643
0
            self.map.next_value_seed(seed)
1644
0
        }
Unexecuted instantiation: <serde::de::value::private::MapAsEnum<_> as serde::de::VariantAccess>::newtype_variant_seed::<_>
Unexecuted instantiation: <serde::de::value::private::MapAsEnum<_> as serde::de::VariantAccess>::newtype_variant_seed::<_>
1645
1646
0
        fn tuple_variant<V>(mut self, len: usize, visitor: V) -> Result<V::Value, Self::Error>
1647
0
        where
1648
0
            V: Visitor<'de>,
1649
        {
1650
0
            self.map.next_value_seed(SeedTupleVariant { len, visitor })
1651
0
        }
Unexecuted instantiation: <serde::de::value::private::MapAsEnum<_> as serde::de::VariantAccess>::tuple_variant::<_>
Unexecuted instantiation: <serde::de::value::private::MapAsEnum<_> as serde::de::VariantAccess>::tuple_variant::<_>
1652
1653
0
        fn struct_variant<V>(
1654
0
            mut self,
1655
0
            _fields: &'static [&'static str],
1656
0
            visitor: V,
1657
0
        ) -> Result<V::Value, Self::Error>
1658
0
        where
1659
0
            V: Visitor<'de>,
1660
        {
1661
0
            self.map.next_value_seed(SeedStructVariant { visitor })
1662
0
        }
Unexecuted instantiation: <serde::de::value::private::MapAsEnum<_> as serde::de::VariantAccess>::struct_variant::<_>
Unexecuted instantiation: <serde::de::value::private::MapAsEnum<_> as serde::de::VariantAccess>::struct_variant::<_>
1663
    }
1664
1665
    struct SeedTupleVariant<V> {
1666
        len: usize,
1667
        visitor: V,
1668
    }
1669
1670
    impl<'de, V> DeserializeSeed<'de> for SeedTupleVariant<V>
1671
    where
1672
        V: Visitor<'de>,
1673
    {
1674
        type Value = V::Value;
1675
1676
0
        fn deserialize<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
1677
0
        where
1678
0
            D: Deserializer<'de>,
1679
        {
1680
0
            deserializer.deserialize_tuple(self.len, self.visitor)
1681
0
        }
Unexecuted instantiation: <serde::de::value::private::SeedTupleVariant<_> as serde::de::DeserializeSeed>::deserialize::<_>
Unexecuted instantiation: <serde::de::value::private::SeedTupleVariant<_> as serde::de::DeserializeSeed>::deserialize::<_>
1682
    }
1683
1684
    struct SeedStructVariant<V> {
1685
        visitor: V,
1686
    }
1687
1688
    impl<'de, V> DeserializeSeed<'de> for SeedStructVariant<V>
1689
    where
1690
        V: Visitor<'de>,
1691
    {
1692
        type Value = V::Value;
1693
1694
0
        fn deserialize<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
1695
0
        where
1696
0
            D: Deserializer<'de>,
1697
        {
1698
0
            deserializer.deserialize_map(self.visitor)
1699
0
        }
Unexecuted instantiation: <serde::de::value::private::SeedStructVariant<_> as serde::de::DeserializeSeed>::deserialize::<_>
Unexecuted instantiation: <serde::de::value::private::SeedStructVariant<_> as serde::de::DeserializeSeed>::deserialize::<_>
1700
    }
1701
1702
    /// Avoid having to restate the generic types on `MapDeserializer`. The
1703
    /// `Iterator::Item` contains enough information to figure out K and V.
1704
    pub trait Pair {
1705
        type First;
1706
        type Second;
1707
        fn split(self) -> (Self::First, Self::Second);
1708
    }
1709
1710
    impl<A, B> Pair for (A, B) {
1711
        type First = A;
1712
        type Second = B;
1713
1.09M
        fn split(self) -> (A, B) {
1714
1.09M
            self
1715
1.09M
        }
Unexecuted instantiation: <(serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>, serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>) as serde::de::value::private::Pair>::split
Unexecuted instantiation: <(_, _) as serde::de::value::private::Pair>::split
<(serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>, serde::__private::de::content::ContentRefDeserializer<serde_json::error::Error>) as serde::de::value::private::Pair>::split
Line
Count
Source
1713
1.09M
        fn split(self) -> (A, B) {
1714
1.09M
            self
1715
1.09M
        }
Unexecuted instantiation: <(_, _) as serde::de::value::private::Pair>::split
1716
    }
1717
1718
    pub type First<T> = <T as Pair>::First;
1719
    pub type Second<T> = <T as Pair>::Second;
1720
}