# Struct bonsaidb::core::transmog_pot::pot::de::Deserializer

```
pub struct Deserializer<'s, 'de, R>where
R: Reader<'de>,{ /* private fields */ }
```

## Expand description

Deserializer for the Pot format.

## Implementations§

§### impl<'s, 'de> Deserializer<'s, 'de, SliceReader<'de>>

### impl<'s, 'de> Deserializer<'s, 'de, SliceReader<'de>>

#### pub fn end_of_input(&self) -> bool

#### pub fn end_of_input(&self) -> bool

Returns `true`

if the input has been consumed completely.

## Trait Implementations§

§### impl<'s, 'de, R> Debug for Deserializer<'s, 'de, R>where
R: Reader<'de>,

### impl<'s, 'de, R> Debug for Deserializer<'s, 'de, R>where
R: Reader<'de>,

§### impl<'a, 'de, 's, R> Deserializer<'de> for &'a mut Deserializer<'s, 'de, R>where
R: Reader<'de>,

### impl<'a, 'de, 's, R> Deserializer<'de> for &'a mut Deserializer<'s, 'de, R>where
R: Reader<'de>,

§#### fn is_human_readable(&self) -> bool

#### fn is_human_readable(&self) -> bool

Determine whether

`Deserialize`

implementations should expect to
deserialize their human-readable form. Read more§#### fn deserialize_any<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_any<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Require the

`Deserializer`

to figure out how to drive the visitor based
on what data type is in the input. Read more§#### fn deserialize_bool<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_bool<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a `bool`

value.§#### fn deserialize_i8<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_i8<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting an `i8`

value.§#### fn deserialize_i16<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_i16<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting an `i16`

value.§#### fn deserialize_i32<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_i32<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting an `i32`

value.§#### fn deserialize_i64<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_i64<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting an `i64`

value.§#### fn deserialize_i128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_i128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

§#### fn deserialize_u8<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_u8<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a `u8`

value.§#### fn deserialize_u16<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_u16<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a `u16`

value.§#### fn deserialize_u32<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_u32<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a `u32`

value.§#### fn deserialize_u64<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_u64<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a `u64`

value.§#### fn deserialize_u128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_u128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

§#### fn deserialize_f32<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_f32<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a `f32`

value.§#### fn deserialize_f64<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_f64<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a `f64`

value.§#### fn deserialize_char<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_char<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a `char`

value.§#### fn deserialize_str<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_str<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a string value and does
not benefit from taking ownership of buffered data owned by the
`Deserializer`

. Read more§#### fn deserialize_string<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_string<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a string value and would
benefit from taking ownership of buffered data owned by the
`Deserializer`

. Read more§#### fn deserialize_bytes<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_bytes<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a byte array and does not
benefit from taking ownership of buffered data owned by the
`Deserializer`

. Read more§#### fn deserialize_byte_buf<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_byte_buf<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a byte array and would
benefit from taking ownership of buffered data owned by the
`Deserializer`

. Read more§#### fn deserialize_option<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_option<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting an optional value. Read more§#### fn deserialize_unit<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_unit<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a unit value.§#### fn deserialize_unit_struct<V>(
self,
_name: &'static str,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_unit_struct<V>(
self,
_name: &'static str,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a unit struct with a
particular name.§#### fn deserialize_newtype_struct<V>(
self,
_name: &'static str,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_newtype_struct<V>(
self,
_name: &'static str,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a newtype struct with a
particular name.§#### fn deserialize_seq<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_seq<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a sequence of values.§#### fn deserialize_tuple<V>(
self,
_len: usize,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_tuple<V>(
self,
_len: usize,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a sequence of values and
knows how many values there are without looking at the serialized data.§#### fn deserialize_tuple_struct<V>(
self,
_name: &'static str,
_len: usize,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_tuple_struct<V>(
self,
_name: &'static str,
_len: usize,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a tuple struct with a
particular name and number of fields.§#### fn deserialize_map<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_map<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a map of key-value pairs.§#### fn deserialize_struct<V>(
self,
_name: &'static str,
_fields: &'static [&'static str],
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_struct<V>(
self,
_name: &'static str,
_fields: &'static [&'static str],
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting a struct with a particular
name and fields.§#### fn deserialize_enum<V>(
self,
_name: &'static str,
_variants: &'static [&'static str],
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn deserialize_enum<V>(
self,
_name: &'static str,
_variants: &'static [&'static str],
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Hint that the

`Deserialize`

type is expecting an enum value with a
particular name and possible variants.§### impl<'a, 's, 'de, R> EnumAccess<'de> for &'a mut Deserializer<'s, 'de, R>where
R: Reader<'de>,

### impl<'a, 's, 'de, R> EnumAccess<'de> for &'a mut Deserializer<'s, 'de, R>where
R: Reader<'de>,

§#### type Variant = &'a mut Deserializer<'s, 'de, R>

#### type Variant = &'a mut Deserializer<'s, 'de, R>

The

`Visitor`

that will be used to deserialize the content of the enum
variant.§#### fn variant_seed<V>(
self,
seed: V
) -> Result<(<V as DeserializeSeed<'de>>::Value, <&'a mut Deserializer<'s, 'de, R> as EnumAccess<'de>>::Variant), Error>where
V: DeserializeSeed<'de>,

#### fn variant_seed<V>(
self,
seed: V
) -> Result<(<V as DeserializeSeed<'de>>::Value, <&'a mut Deserializer<'s, 'de, R> as EnumAccess<'de>>::Variant), Error>where
V: DeserializeSeed<'de>,

`variant`

is called to identify which variant to deserialize. Read more§### impl<'a, 's, 'de, R> VariantAccess<'de> for &'a mut Deserializer<'s, 'de, R>where
R: Reader<'de>,

### impl<'a, 's, 'de, R> VariantAccess<'de> for &'a mut Deserializer<'s, 'de, R>where
R: Reader<'de>,

§#### type Error = Error

#### type Error = Error

The error type that can be returned if some error occurs during
deserialization. Must match the error type of our

`EnumAccess`

.§#### fn unit_variant(self) -> Result<(), Error>

#### fn unit_variant(self) -> Result<(), Error>

Called when deserializing a variant with no values. Read more

§#### fn newtype_variant_seed<T>(
self,
seed: T
) -> Result<<T as DeserializeSeed<'de>>::Value, Error>where
T: DeserializeSeed<'de>,

#### fn newtype_variant_seed<T>(
self,
seed: T
) -> Result<<T as DeserializeSeed<'de>>::Value, Error>where
T: DeserializeSeed<'de>,

Called when deserializing a variant with a single value. Read more

§#### fn tuple_variant<V>(
self,
_len: usize,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn tuple_variant<V>(
self,
_len: usize,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Called when deserializing a tuple-like variant. Read more

§#### fn struct_variant<V>(
self,
_fields: &'static [&'static str],
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

#### fn struct_variant<V>(
self,
_fields: &'static [&'static str],
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,

Called when deserializing a struct-like variant. Read more

source§#### fn newtype_variant<T>(self) -> Result<T, Self::Error>where
T: Deserialize<'de>,

#### fn newtype_variant<T>(self) -> Result<T, Self::Error>where
T: Deserialize<'de>,

Called when deserializing a variant with a single value. Read more

## Auto Trait Implementations§

### impl<'s, 'de, R> RefUnwindSafe for Deserializer<'s, 'de, R>where
R: RefUnwindSafe,

### impl<'s, 'de, R> Send for Deserializer<'s, 'de, R>where
R: Send,

### impl<'s, 'de, R> Sync for Deserializer<'s, 'de, R>where
R: Sync,

### impl<'s, 'de, R> Unpin for Deserializer<'s, 'de, R>where
R: Unpin,

### impl<'s, 'de, R> !UnwindSafe for Deserializer<'s, 'de, R>

## Blanket Implementations§

§### impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,

### impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,

§### impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,

### impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,

source§### impl<T> BorrowMut<T> for Twhere
T: ?Sized,

### impl<T> BorrowMut<T> for Twhere
T: ?Sized,

source§#### fn borrow_mut(&mut self) -> &mut T

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more