Struct MapDeserializer
pub struct MapDeserializer<'de, I, E>
where
I: Iterator,
I::Item: Pair, { /* private fields */ }
A deserializer that iterates over a map.
Implementations
impl<'de, I, E> MapDeserializer<'de, I, E>
where
I: Iterator,
I::Item: Pair,
fn new(iter: I) -> SelfConstruct a new
MapDeserializer<I, E>.
impl<'de, I, E> MapDeserializer<'de, I, E>
where
I: Iterator,
I::Item: Pair,
E: Error,
fn end(self) -> Result<(), E>Check for remaining elements after passing a
MapDeserializertoVisitor::visit_map.
Trait Implementations
impl<'de, I, E> Clone for MapDeserializer<'de, I, E>
where
I: Iterator + Clone,
I::Item: Pair,
<I::Item as Pair>::Second: Clone,
fn clone(&self) -> Self
impl<'de, I, E> Debug for MapDeserializer<'de, I, E>
where
I: Iterator + Debug,
I::Item: Pair,
<I::Item as Pair>::Second: Debug,
fn fmt(&self, formatter: &mut Formatter<'_>) -> Result
impl<'de, I, E> Deserializer<'de> for MapDeserializer<'de, I, E>
where
I: Iterator,
I::Item: Pair,
<I::Item as Pair>::First: IntoDeserializer<'de, E>,
<I::Item as Pair>::Second: IntoDeserializer<'de, E>,
E: Error,
type Error = E;fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor<'de>,fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor<'de>,fn deserialize_tuple<V>(self, len: usize, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor<'de>,fn deserialize_bool<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_i8<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_i16<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_i32<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_i64<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_i128<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_u8<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_u16<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_u32<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_u64<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_u128<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_f32<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_f64<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_char<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_str<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_string<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_bytes<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_byte_buf<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_unit<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_unit_struct<V>(self, name: &'static str, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_newtype_struct<V>(self, name: &'static str, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_tuple_struct<V>(self, name: &'static str, len: usize, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_map<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_struct<V>(self, name: &'static str, fields: &'static [&'static str], visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_enum<V>(self, name: &'static str, variants: &'static [&'static str], visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_identifier<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,fn deserialize_ignored_any<V>(self, visitor: V) -> Result<V::Value, <Self as Deserializer<'de>>::Error> where V: Visitor<'de>,
impl<'de, I, E> IntoDeserializer<'de, E> for MapDeserializer<'de, I, E>
where
I: Iterator,
I::Item: Pair,
<I::Item as Pair>::First: IntoDeserializer<'de, E>,
<I::Item as Pair>::Second: IntoDeserializer<'de, E>,
E: Error,
type Deserializer = MapDeserializer<'de, I, E>;fn into_deserializer(self) -> Self
impl<'de, I, E> MapAccess<'de> for MapDeserializer<'de, I, E>
where
I: Iterator,
I::Item: Pair,
<I::Item as Pair>::First: IntoDeserializer<'de, E>,
<I::Item as Pair>::Second: IntoDeserializer<'de, E>,
E: Error,
type Error = E;fn next_key_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error> where T: DeserializeSeed<'de>,fn next_value_seed<T>(&mut self, seed: T) -> Result<T::Value, Self::Error> where T: DeserializeSeed<'de>,fn next_entry_seed<TK, TV>(&mut self, kseed: TK, vseed: TV) -> Result<Option<(TK::Value, TV::Value)>, Self::Error> where TK: DeserializeSeed<'de>, TV: DeserializeSeed<'de>,fn size_hint(&self) -> Option<usize>
impl<'de, I, E> SeqAccess<'de> for MapDeserializer<'de, I, E>
where
I: Iterator,
I::Item: Pair,
<I::Item as Pair>::First: IntoDeserializer<'de, E>,
<I::Item as Pair>::Second: IntoDeserializer<'de, E>,
E: Error,
type Error = E;fn next_element_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error> where T: DeserializeSeed<'de>,fn size_hint(&self) -> Option<usize>
Auto Trait Implementations
impl<'de, I, E> Freeze for MapDeserializer<'de, I, E>
where
Fuse<I>: Freeze,
Option<<<I as Iterator>::Item as Pair>::Second>: Freeze,
PhantomData<E>: Freeze,
impl<'de, I, E> RefUnwindSafe for MapDeserializer<'de, I, E>
where
Fuse<I>: RefUnwindSafe,
Option<<<I as Iterator>::Item as Pair>::Second>: RefUnwindSafe,
PhantomData<E>: RefUnwindSafe,
impl<'de, I, E> Send for MapDeserializer<'de, I, E>
where
Fuse<I>: Send,
Option<<<I as Iterator>::Item as Pair>::Second>: Send,
PhantomData<E>: Send,
impl<'de, I, E> Sync for MapDeserializer<'de, I, E>
where
Fuse<I>: Sync,
Option<<<I as Iterator>::Item as Pair>::Second>: Sync,
PhantomData<E>: Sync,
impl<'de, I, E> Unpin for MapDeserializer<'de, I, E>
where
Fuse<I>: Unpin,
Option<<<I as Iterator>::Item as Pair>::Second>: Unpin,
PhantomData<E>: Unpin,
impl<'de, I, E> UnsafeUnpin for MapDeserializer<'de, I, E>
where
Fuse<I>: UnsafeUnpin,
Option<<<I as Iterator>::Item as Pair>::Second>: UnsafeUnpin,
PhantomData<E>: UnsafeUnpin,
impl<'de, I, E> UnwindSafe for MapDeserializer<'de, I, E>
where
Fuse<I>: UnwindSafe,
Option<<<I as Iterator>::Item as Pair>::Second>: UnwindSafe,
PhantomData<E>: UnwindSafe,
Blanket Implementations
impl<T> Any for MapDeserializer<'de, I, E>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for MapDeserializer<'de, I, E>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for MapDeserializer<'de, I, E>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for MapDeserializer<'de, I, E>
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for MapDeserializer<'de, I, E>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for MapDeserializer<'de, I, E>
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for MapDeserializer<'de, I, E>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for MapDeserializer<'de, I, E>
where
U: Into<T>,
type Error = Infallible;fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for MapDeserializer<'de, I, E>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>