Skip to main content

SerdeShape

Trait SerdeShape 

Source
pub trait SerdeShape {
    // Required method
    fn shape_in(context: &mut ShapeContext) -> ShapeRef;

    // Provided method
    fn shape() -> Shape
       where Self: Sized { ... }
}
Expand description

A type that can describe the shape accepted by its Serde deserializer.

Required Methods§

Source

fn shape_in(context: &mut ShapeContext) -> ShapeRef

Build this type’s shape inside the provided context.

Provided Methods§

Source

fn shape() -> Shape
where Self: Sized,

Build a complete shape graph rooted at this type.

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 SerdeShape for ()

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for AtomicBool

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for AtomicI8

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for AtomicI16

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for AtomicI32

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for AtomicI64

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for AtomicIsize

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for AtomicU8

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for AtomicU16

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for AtomicU32

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for AtomicU64

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for AtomicUsize

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for IpAddr

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for Ipv4Addr

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for Ipv6Addr

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for NonZeroI8

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for NonZeroI16

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for NonZeroI32

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for NonZeroI64

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for NonZeroI128

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for NonZeroIsize

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for NonZeroU8

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for NonZeroU16

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for NonZeroU32

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for NonZeroU64

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for NonZeroU128

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for NonZeroUsize

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for Path

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for PathBuf

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for SocketAddr

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for SocketAddrV4

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for SocketAddrV6

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for String

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for [u8]

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for bool

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for char

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for f32

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for f64

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for i8

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for i16

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for i32

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for i64

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for i128

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for isize

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for str

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for u8

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for u16

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for u32

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for u64

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for u128

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl SerdeShape for usize

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl<'a, T> SerdeShape for Cow<'a, T>
where T: ToOwned + ?Sized, T::Owned: SerdeShape,

Source§

impl<K, V, S> SerdeShape for HashMap<K, V, S>
where K: SerdeShape, V: SerdeShape,

Source§

impl<K, V> SerdeShape for BTreeMap<K, V>
where K: SerdeShape, V: SerdeShape,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> SerdeShape for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> SerdeShape for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> SerdeShape for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> SerdeShape for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> SerdeShape for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

impl<T0, T1, T2, T3, T4, T5, T6> SerdeShape for (T0, T1, T2, T3, T4, T5, T6)
where T0: SerdeShape, T1: SerdeShape, T2: SerdeShape, T3: SerdeShape, T4: SerdeShape, T5: SerdeShape, T6: SerdeShape,

Source§

impl<T0, T1, T2, T3, T4, T5> SerdeShape for (T0, T1, T2, T3, T4, T5)
where T0: SerdeShape, T1: SerdeShape, T2: SerdeShape, T3: SerdeShape, T4: SerdeShape, T5: SerdeShape,

Source§

impl<T0, T1, T2, T3, T4> SerdeShape for (T0, T1, T2, T3, T4)
where T0: SerdeShape, T1: SerdeShape, T2: SerdeShape, T3: SerdeShape, T4: SerdeShape,

Source§

impl<T0, T1, T2, T3> SerdeShape for (T0, T1, T2, T3)
where T0: SerdeShape, T1: SerdeShape, T2: SerdeShape, T3: SerdeShape,

Source§

impl<T0, T1, T2> SerdeShape for (T0, T1, T2)
where T0: SerdeShape, T1: SerdeShape, T2: SerdeShape,

Source§

impl<T0, T1> SerdeShape for (T0, T1)
where T0: SerdeShape, T1: SerdeShape,

Source§

impl<T0> SerdeShape for (T0,)
where T0: SerdeShape,

Source§

impl<T, S> SerdeShape for HashSet<T, S>
where T: SerdeShape,

Source§

impl<T, const N: usize> SerdeShape for [T; N]
where T: SerdeShape,

Source§

impl<T> SerdeShape for &T
where T: SerdeShape + ?Sized,

Source§

impl<T> SerdeShape for &mut T
where T: SerdeShape + ?Sized,

Source§

impl<T> SerdeShape for BTreeSet<T>
where T: SerdeShape,

Source§

impl<T> SerdeShape for BinaryHeap<T>
where T: Ord + SerdeShape,

Source§

impl<T> SerdeShape for Box<T>
where T: SerdeShape + ?Sized,

Source§

impl<T> SerdeShape for Cell<T>
where T: Copy + SerdeShape,

Source§

impl<T> SerdeShape for LinkedList<T>
where T: SerdeShape,

Source§

impl<T> SerdeShape for Mutex<T>
where T: SerdeShape,

Source§

impl<T> SerdeShape for Option<T>
where T: SerdeShape,

Source§

impl<T> SerdeShape for PhantomData<T>

Source§

fn shape_in(_context: &mut ShapeContext) -> ShapeRef

Source§

impl<T> SerdeShape for RefCell<T>
where T: SerdeShape,

Source§

impl<T> SerdeShape for Reverse<T>
where T: SerdeShape,

Source§

impl<T> SerdeShape for RwLock<T>
where T: SerdeShape,

Source§

impl<T> SerdeShape for Vec<T>
where T: SerdeShape,

Source§

impl<T> SerdeShape for VecDeque<T>
where T: SerdeShape,

Source§

impl<T> SerdeShape for Wrapping<T>
where T: SerdeShape,

Implementors§