Coverage Report

Created: 2026-07-25 06:09

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
349k
    pub fn new(iter: I) -> Self {
901
349k
        SeqDeserializer {
902
349k
            iter: iter.fuse(),
903
349k
            count: 0,
904
349k
            marker: PhantomData,
905
349k
        }
906
349k
    }
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
349k
    pub fn new(iter: I) -> Self {
901
349k
        SeqDeserializer {
902
349k
            iter: iter.fuse(),
903
349k
            count: 0,
904
349k
            marker: PhantomData,
905
349k
        }
906
349k
    }
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
300k
    pub fn end(self) -> Result<(), E> {
917
300k
        let remaining = self.iter.count();
918
300k
        if remaining == 0 {
919
293k
            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
7.19k
            Err(de::Error::invalid_length(
924
7.19k
                self.count + remaining,
925
7.19k
                &ExpectedInSeq(self.count),
926
7.19k
            ))
927
        }
928
300k
    }
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
300k
    pub fn end(self) -> Result<(), E> {
917
300k
        let remaining = self.iter.count();
918
300k
        if remaining == 0 {
919
293k
            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
7.19k
            Err(de::Error::invalid_length(
924
7.19k
                self.count + remaining,
925
7.19k
                &ExpectedInSeq(self.count),
926
7.19k
            ))
927
        }
928
300k
    }
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.60M
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
2.60M
    where
965
2.60M
        V: de::DeserializeSeed<'de>,
966
    {
967
2.60M
        match self.iter.next() {
968
2.59M
            Some(value) => {
969
2.59M
                self.count += 1;
970
2.59M
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
8.00k
            None => Ok(None),
973
        }
974
2.60M
    }
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
2.45k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
2.45k
    where
965
2.45k
        V: de::DeserializeSeed<'de>,
966
    {
967
2.45k
        match self.iter.next() {
968
2.35k
            Some(value) => {
969
2.35k
                self.count += 1;
970
2.35k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
104
            None => Ok(None),
973
        }
974
2.45k
    }
<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
31.1k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
31.1k
    where
965
31.1k
        V: de::DeserializeSeed<'de>,
966
    {
967
31.1k
        match self.iter.next() {
968
30.5k
            Some(value) => {
969
30.5k
                self.count += 1;
970
30.5k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
632
            None => Ok(None),
973
        }
974
31.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<alloc::string::String>>
Line
Count
Source
963
10.3k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
10.3k
    where
965
10.3k
        V: de::DeserializeSeed<'de>,
966
    {
967
10.3k
        match self.iter.next() {
968
10.2k
            Some(value) => {
969
10.2k
                self.count += 1;
970
10.2k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
14
            None => Ok(None),
973
        }
974
10.3k
    }
<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
9.63k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
9.63k
    where
965
9.63k
        V: de::DeserializeSeed<'de>,
966
    {
967
9.63k
        match self.iter.next() {
968
9.61k
            Some(value) => {
969
9.61k
                self.count += 1;
970
9.61k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
14
            None => Ok(None),
973
        }
974
9.63k
    }
<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
6.39k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
6.39k
    where
965
6.39k
        V: de::DeserializeSeed<'de>,
966
    {
967
6.39k
        match self.iter.next() {
968
6.38k
            Some(value) => {
969
6.38k
                self.count += 1;
970
6.38k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
14
            None => Ok(None),
973
        }
974
6.39k
    }
<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
837
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
837
    where
965
837
        V: de::DeserializeSeed<'de>,
966
    {
967
837
        match self.iter.next() {
968
806
            Some(value) => {
969
806
                self.count += 1;
970
806
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
31
            None => Ok(None),
973
        }
974
837
    }
<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
277k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
277k
    where
965
277k
        V: de::DeserializeSeed<'de>,
966
    {
967
277k
        match self.iter.next() {
968
276k
            Some(value) => {
969
276k
                self.count += 1;
970
276k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
400
            None => Ok(None),
973
        }
974
277k
    }
<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
272k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
272k
    where
965
272k
        V: de::DeserializeSeed<'de>,
966
    {
967
272k
        match self.iter.next() {
968
272k
            Some(value) => {
969
272k
                self.count += 1;
970
272k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
344
            None => Ok(None),
973
        }
974
272k
    }
<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
6.72k
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
6.72k
    where
965
6.72k
        V: de::DeserializeSeed<'de>,
966
    {
967
6.72k
        match self.iter.next() {
968
6.70k
            Some(value) => {
969
6.70k
                self.count += 1;
970
6.70k
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
14
            None => Ok(None),
973
        }
974
6.72k
    }
<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.98M
    fn next_element_seed<V>(&mut self, seed: V) -> Result<Option<V::Value>, Self::Error>
964
1.98M
    where
965
1.98M
        V: de::DeserializeSeed<'de>,
966
    {
967
1.98M
        match self.iter.next() {
968
1.97M
            Some(value) => {
969
1.97M
                self.count += 1;
970
1.97M
                seed.deserialize(value.into_deserializer()).map(Some)
971
            }
972
6.43k
            None => Ok(None),
973
        }
974
1.98M
    }
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
7.19k
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
985
7.19k
        if self.0 == 1 {
986
4.93k
            formatter.write_str("1 element in sequence")
987
        } else {
988
2.26k
            write!(formatter, "{} elements in sequence", self.0)
989
        }
990
7.19k
    }
Unexecuted instantiation: <serde::de::value::ExpectedInSeq as serde::de::Expected>::fmt
<serde::de::value::ExpectedInSeq as serde::de::Expected>::fmt
Line
Count
Source
984
7.19k
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
985
7.19k
        if self.0 == 1 {
986
4.93k
            formatter.write_str("1 element in sequence")
987
        } else {
988
2.26k
            write!(formatter, "{} elements in sequence", self.0)
989
        }
990
7.19k
    }
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
207k
    pub fn new(iter: I) -> Self {
1108
207k
        MapDeserializer {
1109
207k
            iter: iter.fuse(),
1110
207k
            value: None,
1111
207k
            count: 0,
1112
207k
            lifetime: PhantomData,
1113
207k
            error: PhantomData,
1114
207k
        }
1115
207k
    }
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
60.4k
    pub fn new(iter: I) -> Self {
1108
60.4k
        MapDeserializer {
1109
60.4k
            iter: iter.fuse(),
1110
60.4k
            value: None,
1111
60.4k
            count: 0,
1112
60.4k
            lifetime: PhantomData,
1113
60.4k
            error: PhantomData,
1114
60.4k
        }
1115
60.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::PlatformInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
27.6k
    pub fn new(iter: I) -> Self {
1108
27.6k
        MapDeserializer {
1109
27.6k
            iter: iter.fuse(),
1110
27.6k
            value: None,
1111
27.6k
            count: 0,
1112
27.6k
            lifetime: PhantomData,
1113
27.6k
            error: PhantomData,
1114
27.6k
        }
1115
27.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::Platform as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
1.25k
    pub fn new(iter: I) -> Self {
1108
1.25k
        MapDeserializer {
1109
1.25k
            iter: iter.fuse(),
1110
1.25k
            value: None,
1111
1.25k
            count: 0,
1112
1.25k
            lifetime: PhantomData,
1113
1.25k
            error: PhantomData,
1114
1.25k
        }
1115
1.25k
    }
<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
27.3k
    pub fn new(iter: I) -> Self {
1108
27.3k
        MapDeserializer {
1109
27.3k
            iter: iter.fuse(),
1110
27.3k
            value: None,
1111
27.3k
            count: 0,
1112
27.3k
            lifetime: PhantomData,
1113
27.3k
            error: PhantomData,
1114
27.3k
        }
1115
27.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::QeIdentity as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
3.59k
    pub fn new(iter: I) -> Self {
1108
3.59k
        MapDeserializer {
1109
3.59k
            iter: iter.fuse(),
1110
3.59k
            value: None,
1111
3.59k
            count: 0,
1112
3.59k
            lifetime: PhantomData,
1113
3.59k
            error: PhantomData,
1114
3.59k
        }
1115
3.59k
    }
<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
25.2k
    pub fn new(iter: I) -> Self {
1108
25.2k
        MapDeserializer {
1109
25.2k
            iter: iter.fuse(),
1110
25.2k
            value: None,
1111
25.2k
            count: 0,
1112
25.2k
            lifetime: PhantomData,
1113
25.2k
            error: PhantomData,
1114
25.2k
        }
1115
25.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::TdxModule as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
3.51k
    pub fn new(iter: I) -> Self {
1108
3.51k
        MapDeserializer {
1109
3.51k
            iter: iter.fuse(),
1110
3.51k
            value: None,
1111
3.51k
            count: 0,
1112
3.51k
            lifetime: PhantomData,
1113
3.51k
            error: PhantomData,
1114
3.51k
        }
1115
3.51k
    }
<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
24.5k
    pub fn new(iter: I) -> Self {
1108
24.5k
        MapDeserializer {
1109
24.5k
            iter: iter.fuse(),
1110
24.5k
            value: None,
1111
24.5k
            count: 0,
1112
24.5k
            lifetime: PhantomData,
1113
24.5k
            error: PhantomData,
1114
24.5k
        }
1115
24.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>>::new
Line
Count
Source
1107
26.6k
    pub fn new(iter: I) -> Self {
1108
26.6k
        MapDeserializer {
1109
26.6k
            iter: iter.fuse(),
1110
26.6k
            value: None,
1111
26.6k
            count: 0,
1112
26.6k
            lifetime: PhantomData,
1113
26.6k
            error: PhantomData,
1114
26.6k
        }
1115
26.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::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::new
Line
Count
Source
1107
6.84k
    pub fn new(iter: I) -> Self {
1108
6.84k
        MapDeserializer {
1109
6.84k
            iter: iter.fuse(),
1110
6.84k
            value: None,
1111
6.84k
            count: 0,
1112
6.84k
            lifetime: PhantomData,
1113
6.84k
            error: PhantomData,
1114
6.84k
        }
1115
6.84k
    }
<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
199
    pub fn new(iter: I) -> Self {
1108
199
        MapDeserializer {
1109
199
            iter: iter.fuse(),
1110
199
            value: None,
1111
199
            count: 0,
1112
199
            lifetime: PhantomData,
1113
199
            error: PhantomData,
1114
199
        }
1115
199
    }
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
99.4k
    pub fn end(self) -> Result<(), E> {
1127
99.4k
        let remaining = self.iter.count();
1128
99.4k
        if remaining == 0 {
1129
99.4k
            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
99.4k
    }
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
45.1k
    pub fn end(self) -> Result<(), E> {
1127
45.1k
        let remaining = self.iter.count();
1128
45.1k
        if remaining == 0 {
1129
45.1k
            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
45.1k
    }
<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
337
    pub fn end(self) -> Result<(), E> {
1127
337
        let remaining = self.iter.count();
1128
337
        if remaining == 0 {
1129
337
            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
337
    }
<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
401
    pub fn end(self) -> Result<(), E> {
1127
401
        let remaining = self.iter.count();
1128
401
        if remaining == 0 {
1129
401
            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
401
    }
<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.07k
    pub fn end(self) -> Result<(), E> {
1127
2.07k
        let remaining = self.iter.count();
1128
2.07k
        if remaining == 0 {
1129
2.07k
            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.07k
    }
<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
660
    pub fn end(self) -> Result<(), E> {
1127
660
        let remaining = self.iter.count();
1128
660
        if remaining == 0 {
1129
660
            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
660
    }
<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
324
    pub fn end(self) -> Result<(), E> {
1127
324
        let remaining = self.iter.count();
1128
324
        if remaining == 0 {
1129
324
            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
324
    }
<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
23.7k
    pub fn end(self) -> Result<(), E> {
1127
23.7k
        let remaining = self.iter.count();
1128
23.7k
        if remaining == 0 {
1129
23.7k
            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
23.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::TdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::end
Line
Count
Source
1126
26.3k
    pub fn end(self) -> Result<(), E> {
1127
26.3k
        let remaining = self.iter.count();
1128
26.3k
        if remaining == 0 {
1129
26.3k
            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
26.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>>::end
Line
Count
Source
1126
194
    pub fn end(self) -> Result<(), E> {
1127
194
        let remaining = self.iter.count();
1128
194
        if remaining == 0 {
1129
194
            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
194
    }
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
2.06M
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
2.06M
        match self.iter.next() {
1148
1.90M
            Some(kv) => {
1149
1.90M
                self.count += 1;
1150
1.90M
                Some(private::Pair::split(kv))
1151
            }
1152
159k
            None => None,
1153
        }
1154
2.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<<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
329k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
329k
        match self.iter.next() {
1148
284k
            Some(kv) => {
1149
284k
                self.count += 1;
1150
284k
                Some(private::Pair::split(kv))
1151
            }
1152
45.1k
            None => None,
1153
        }
1154
329k
    }
<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
378k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
378k
        match self.iter.next() {
1148
357k
            Some(kv) => {
1149
357k
                self.count += 1;
1150
357k
                Some(private::Pair::split(kv))
1151
            }
1152
21.0k
            None => None,
1153
        }
1154
378k
    }
<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
25.7k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
25.7k
        match self.iter.next() {
1148
24.9k
            Some(kv) => {
1149
24.9k
                self.count += 1;
1150
24.9k
                Some(private::Pair::split(kv))
1151
            }
1152
843
            None => None,
1153
        }
1154
25.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::QeInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
371k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
371k
        match self.iter.next() {
1148
353k
            Some(kv) => {
1149
353k
                self.count += 1;
1150
353k
                Some(private::Pair::split(kv))
1151
            }
1152
17.6k
            None => None,
1153
        }
1154
371k
    }
<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
39.6k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
39.6k
        match self.iter.next() {
1148
37.2k
            Some(kv) => {
1149
37.2k
                self.count += 1;
1150
37.2k
                Some(private::Pair::split(kv))
1151
            }
1152
2.37k
            None => None,
1153
        }
1154
39.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>>::next_pair
Line
Count
Source
1146
359k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
359k
        match self.iter.next() {
1148
345k
            Some(kv) => {
1149
345k
                self.count += 1;
1150
345k
                Some(private::Pair::split(kv))
1151
            }
1152
14.0k
            None => None,
1153
        }
1154
359k
    }
<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
49.3k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
49.3k
        match self.iter.next() {
1148
46.6k
            Some(kv) => {
1149
46.6k
                self.count += 1;
1150
46.6k
                Some(private::Pair::split(kv))
1151
            }
1152
2.73k
            None => None,
1153
        }
1154
49.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::MigTdInfo as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
382k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
382k
        match self.iter.next() {
1148
358k
            Some(kv) => {
1149
358k
                self.count += 1;
1150
358k
                Some(private::Pair::split(kv))
1151
            }
1152
24.3k
            None => None,
1153
        }
1154
382k
    }
<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
97.6k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
97.6k
        match self.iter.next() {
1148
71.0k
            Some(kv) => {
1149
71.0k
                self.count += 1;
1150
71.0k
                Some(private::Pair::split(kv))
1151
            }
1152
26.6k
            None => None,
1153
        }
1154
97.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::Property as serde::de::Deserialize>::deserialize::__Visitor, serde_json::error::Error>::{closure#0}>, serde_json::error::Error>>::next_pair
Line
Count
Source
1146
31.9k
    fn next_pair(&mut self) -> Option<(First<I::Item>, Second<I::Item>)> {
1147
31.9k
        match self.iter.next() {
1148
27.8k
            Some(kv) => {
1149
27.8k
                self.count += 1;
1150
27.8k
                Some(private::Pair::split(kv))
1151
            }
1152
4.07k
            None => None,
1153
        }
1154
31.9k
    }
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.73M
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
1.73M
    where
1212
1.73M
        T: de::DeserializeSeed<'de>,
1213
    {
1214
1.73M
        match self.next_pair() {
1215
1.62M
            Some((key, value)) => {
1216
1.62M
                self.value = Some(value);
1217
1.62M
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
113k
            None => Ok(None),
1220
        }
1221
1.73M
    }
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
378k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
378k
    where
1212
378k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
378k
        match self.next_pair() {
1215
357k
            Some((key, value)) => {
1216
357k
                self.value = Some(value);
1217
357k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
21.0k
            None => Ok(None),
1220
        }
1221
378k
    }
<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
25.7k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
25.7k
    where
1212
25.7k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
25.7k
        match self.next_pair() {
1215
24.9k
            Some((key, value)) => {
1216
24.9k
                self.value = Some(value);
1217
24.9k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
843
            None => Ok(None),
1220
        }
1221
25.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::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
371k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
371k
    where
1212
371k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
371k
        match self.next_pair() {
1215
353k
            Some((key, value)) => {
1216
353k
                self.value = Some(value);
1217
353k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
17.6k
            None => Ok(None),
1220
        }
1221
371k
    }
<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
39.6k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
39.6k
    where
1212
39.6k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
39.6k
        match self.next_pair() {
1215
37.2k
            Some((key, value)) => {
1216
37.2k
                self.value = Some(value);
1217
37.2k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
2.37k
            None => Ok(None),
1220
        }
1221
39.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_key_seed::<core::marker::PhantomData<<policy::v1::config::TdxModuleInfo as serde::de::Deserialize>::deserialize::__Field>>
Line
Count
Source
1210
359k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
359k
    where
1212
359k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
359k
        match self.next_pair() {
1215
345k
            Some((key, value)) => {
1216
345k
                self.value = Some(value);
1217
345k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
14.0k
            None => Ok(None),
1220
        }
1221
359k
    }
<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
49.3k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
49.3k
    where
1212
49.3k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
49.3k
        match self.next_pair() {
1215
46.6k
            Some((key, value)) => {
1216
46.6k
                self.value = Some(value);
1217
46.6k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
2.73k
            None => Ok(None),
1220
        }
1221
49.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::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
382k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
382k
    where
1212
382k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
382k
        match self.next_pair() {
1215
358k
            Some((key, value)) => {
1216
358k
                self.value = Some(value);
1217
358k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
24.3k
            None => Ok(None),
1220
        }
1221
382k
    }
<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
97.6k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
97.6k
    where
1212
97.6k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
97.6k
        match self.next_pair() {
1215
71.0k
            Some((key, value)) => {
1216
71.0k
                self.value = Some(value);
1217
71.0k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
26.6k
            None => Ok(None),
1220
        }
1221
97.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::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
31.9k
    fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
1211
31.9k
    where
1212
31.9k
        T: de::DeserializeSeed<'de>,
1213
    {
1214
31.9k
        match self.next_pair() {
1215
27.8k
            Some((key, value)) => {
1216
27.8k
                self.value = Some(value);
1217
27.8k
                seed.deserialize(key.into_deserializer()).map(Some)
1218
            }
1219
4.07k
            None => Ok(None),
1220
        }
1221
31.9k
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::MapAccess>::next_key_seed::<_>
1222
1223
1.61M
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
1.61M
    where
1225
1.61M
        T: de::DeserializeSeed<'de>,
1226
    {
1227
1.61M
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
1.61M
        let value = value.expect("MapAccess::next_value called before next_key");
1231
1.61M
        seed.deserialize(value.into_deserializer())
1232
1.61M
    }
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.43k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
4.43k
    where
1225
4.43k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
4.43k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
4.43k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
4.43k
        seed.deserialize(value.into_deserializer())
1232
4.43k
    }
<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
348k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
348k
    where
1225
348k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
348k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
348k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
348k
        seed.deserialize(value.into_deserializer())
1232
348k
    }
<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.44k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
3.44k
    where
1225
3.44k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
3.44k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
3.44k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
3.44k
        seed.deserialize(value.into_deserializer())
1232
3.44k
    }
<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
809
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
809
    where
1225
809
        T: de::DeserializeSeed<'de>,
1226
    {
1227
809
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
809
        let value = value.expect("MapAccess::next_value called before next_key");
1231
809
        seed.deserialize(value.into_deserializer())
1232
809
    }
<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
23.8k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
23.8k
    where
1225
23.8k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
23.8k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
23.8k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
23.8k
        seed.deserialize(value.into_deserializer())
1232
23.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::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
11.7k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
11.7k
    where
1225
11.7k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
11.7k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
11.7k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
11.7k
        seed.deserialize(value.into_deserializer())
1232
11.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::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
342k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
342k
    where
1225
342k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
342k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
342k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
342k
        seed.deserialize(value.into_deserializer())
1232
342k
    }
<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
1.41k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
1.41k
    where
1225
1.41k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
1.41k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
1.41k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
1.41k
        seed.deserialize(value.into_deserializer())
1232
1.41k
    }
<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
35.3k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
35.3k
    where
1225
35.3k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
35.3k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
35.3k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
35.3k
        seed.deserialize(value.into_deserializer())
1232
35.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::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
11.8k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
11.8k
    where
1225
11.8k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
11.8k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
11.8k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
11.8k
        seed.deserialize(value.into_deserializer())
1232
11.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::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
332k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
332k
    where
1225
332k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
332k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
332k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
332k
        seed.deserialize(value.into_deserializer())
1232
332k
    }
<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
1.10k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
1.10k
    where
1225
1.10k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
1.10k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
1.10k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
1.10k
        seed.deserialize(value.into_deserializer())
1232
1.10k
    }
<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
44.9k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
44.9k
    where
1225
44.9k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
44.9k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
44.9k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
44.9k
        seed.deserialize(value.into_deserializer())
1232
44.9k
    }
<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
23.9k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
23.9k
    where
1225
23.9k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
23.9k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
23.9k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
23.9k
        seed.deserialize(value.into_deserializer())
1232
23.9k
    }
<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
334k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
334k
    where
1225
334k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
334k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
334k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
334k
        seed.deserialize(value.into_deserializer())
1232
334k
    }
<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
458
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
458
    where
1225
458
        T: de::DeserializeSeed<'de>,
1226
    {
1227
458
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
458
        let value = value.expect("MapAccess::next_value called before next_key");
1231
458
        seed.deserialize(value.into_deserializer())
1232
458
    }
<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
26.3k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
26.3k
    where
1225
26.3k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
26.3k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
26.3k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
26.3k
        seed.deserialize(value.into_deserializer())
1232
26.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> as serde::de::MapAccess>::next_value_seed::<core::marker::PhantomData<serde::de::ignored_any::IgnoredAny>>
Line
Count
Source
1223
44.1k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
44.1k
    where
1225
44.1k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
44.1k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
44.1k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
44.1k
        seed.deserialize(value.into_deserializer())
1232
44.1k
    }
<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
859
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
859
    where
1225
859
        T: de::DeserializeSeed<'de>,
1226
    {
1227
859
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
859
        let value = value.expect("MapAccess::next_value called before next_key");
1231
859
        seed.deserialize(value.into_deserializer())
1232
859
    }
<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
4.30k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
4.30k
    where
1225
4.30k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
4.30k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
4.30k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
4.30k
        seed.deserialize(value.into_deserializer())
1232
4.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::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
22.0k
    fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error>
1224
22.0k
    where
1225
22.0k
        T: de::DeserializeSeed<'de>,
1226
    {
1227
22.0k
        let value = self.value.take();
1228
        // Panic because this indicates a bug in the program rather than an
1229
        // expected failure.
1230
22.0k
        let value = value.expect("MapAccess::next_value called before next_key");
1231
22.0k
        seed.deserialize(value.into_deserializer())
1232
22.0k
    }
Unexecuted instantiation: <serde::de::value::MapDeserializer<_, _> as serde::de::MapAccess>::next_value_seed::<_>
1233
1234
329k
    fn next_entry_seed<TK, TV>(
1235
329k
        &mut self,
1236
329k
        kseed: TK,
1237
329k
        vseed: TV,
1238
329k
    ) -> Result<Option<(TK::Value, TV::Value)>, Self::Error>
1239
329k
    where
1240
329k
        TK: de::DeserializeSeed<'de>,
1241
329k
        TV: de::DeserializeSeed<'de>,
1242
    {
1243
329k
        match self.next_pair() {
1244
284k
            Some((key, value)) => {
1245
284k
                let key = tri!(kseed.deserialize(key.into_deserializer()));
1246
284k
                let value = tri!(vseed.deserialize(value.into_deserializer()));
1247
269k
                Ok(Some((key, value)))
1248
            }
1249
45.1k
            None => Ok(None),
1250
        }
1251
329k
    }
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
329k
    fn next_entry_seed<TK, TV>(
1235
329k
        &mut self,
1236
329k
        kseed: TK,
1237
329k
        vseed: TV,
1238
329k
    ) -> Result<Option<(TK::Value, TV::Value)>, Self::Error>
1239
329k
    where
1240
329k
        TK: de::DeserializeSeed<'de>,
1241
329k
        TV: de::DeserializeSeed<'de>,
1242
    {
1243
329k
        match self.next_pair() {
1244
284k
            Some((key, value)) => {
1245
284k
                let key = tri!(kseed.deserialize(key.into_deserializer()));
1246
284k
                let value = tri!(vseed.deserialize(value.into_deserializer()));
1247
269k
                Ok(Some((key, value)))
1248
            }
1249
45.1k
            None => Ok(None),
1250
        }
1251
329k
    }
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.90M
        fn split(self) -> (A, B) {
1714
1.90M
            self
1715
1.90M
        }
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.90M
        fn split(self) -> (A, B) {
1714
1.90M
            self
1715
1.90M
        }
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
}