Skip to main content

DecodeTrace

Trait DecodeTrace 

Source
pub trait DecodeTrace<'de, M, A>: Sized
where A: Allocator,
{ // Required method fn trace_decode<D>(decoder: D) -> Result<Self, D::Error> where D: Decoder<'de, Mode = M, Allocator = A>; }
Expand description

Trait governing how types are decoded specifically for tracing.

This is used for types where some extra bounds might be necessary to trace a container such as a HashMap<K, V> where K would have to implement fmt::Display.

Required Methods§

Source

fn trace_decode<D>(decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M, Allocator = A>,

Decode the given input.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'de, K, V, A, M, S> DecodeTrace<'de, M, A> for HashMap<K, V, S>
where A: Allocator, K: Display + Decode<'de, M, A> + Eq + Hash, V: Decode<'de, M, A>, S: BuildHasher + Default,

Available on crate feature std only.
Source§

fn trace_decode<D>(decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M, Allocator = A>,

Source§

impl<'de, K, V, A, M> DecodeTrace<'de, M, A> for BTreeMap<K, V>
where A: Allocator, K: Display + Decode<'de, M, A> + Ord, V: Decode<'de, M, A>,

Source§

fn trace_decode<D>(decoder: D) -> Result<Self, D::Error>
where D: Decoder<'de, Mode = M, Allocator = A>,

Implementors§