Skip to main content

DeepModel

Trait DeepModel 

Source
pub trait DeepModel {
    type DeepModelTy;
}
Expand description

The deep model corresponds to the model used for specifying operations such as equality, hash function or ordering, which are computed deeply in a data structure. Typically, such a model recursively calls deep models of inner types.

Required Associated Types§

Implementations on Foreign Types§

Source§

impl DeepModel for Ordering

Source§

impl DeepModel for bool

Source§

impl DeepModel for char

Source§

impl DeepModel for i8

Source§

impl DeepModel for i16

Source§

impl DeepModel for i32

Source§

impl DeepModel for i64

Source§

impl DeepModel for i128

Source§

impl DeepModel for isize

Source§

impl DeepModel for str

Source§

impl DeepModel for u8

Source§

impl DeepModel for u16

Source§

impl DeepModel for u32

Source§

impl DeepModel for u64

Source§

impl DeepModel for u128

Source§

impl DeepModel for ()

Source§

impl DeepModel for usize

Source§

impl DeepModel for String

Available on crate feature std only.
Source§

impl DeepModel for Duration

Source§

impl DeepModel for Instant

Available on crate feature std only.
Source§

impl<A: DeepModel, Z: DeepModel, Y: DeepModel, X: DeepModel, W: DeepModel, V: DeepModel, U: DeepModel, T: DeepModel> DeepModel for (A, Z, Y, X, W, V, U, T)

Source§

impl<B: DeepModel, A: DeepModel, Z: DeepModel, Y: DeepModel, X: DeepModel, W: DeepModel, V: DeepModel, U: DeepModel, T: DeepModel> DeepModel for (B, A, Z, Y, X, W, V, U, T)

Source§

impl<C: DeepModel, B: DeepModel, A: DeepModel, Z: DeepModel, Y: DeepModel, X: DeepModel, W: DeepModel, V: DeepModel, U: DeepModel, T: DeepModel> DeepModel for (C, B, A, Z, Y, X, W, V, U, T)

Source§

impl<D: DeepModel, C: DeepModel, B: DeepModel, A: DeepModel, Z: DeepModel, Y: DeepModel, X: DeepModel, W: DeepModel, V: DeepModel, U: DeepModel, T: DeepModel> DeepModel for (D, C, B, A, Z, Y, X, W, V, U, T)

Source§

impl<E: DeepModel, D: DeepModel, C: DeepModel, B: DeepModel, A: DeepModel, Z: DeepModel, Y: DeepModel, X: DeepModel, W: DeepModel, V: DeepModel, U: DeepModel, T: DeepModel> DeepModel for (E, D, C, B, A, Z, Y, X, W, V, U, T)

Source§

impl<T: DeepModel + ?Sized> DeepModel for &T

Source§

impl<T: DeepModel + ?Sized> DeepModel for &mut T

Source§

impl<T: DeepModel + ?Sized> DeepModel for Box<T>

Available on non-crate feature nightly only.

Dummy impls that don’t use the unstable trait Allocator

Source§

impl<T: DeepModel> DeepModel for Bound<T>

Source§

impl<T: DeepModel> DeepModel for Option<T>

Source§

impl<T: DeepModel> DeepModel for [T]

Source§

impl<T: DeepModel> DeepModel for (T,)

Source§

impl<T: DeepModel> DeepModel for VecDeque<T>

Source§

impl<T: DeepModel> DeepModel for Rc<T>

Available on non-crate feature nightly only.

Dummy impls that don’t use the unstable trait Allocator

Source§

impl<T: DeepModel> DeepModel for Arc<T>

Available on non-crate feature nightly only.

Dummy impls that don’t use the unstable trait Allocator

Source§

impl<T: DeepModel> DeepModel for Vec<T>

Source§

impl<T: DeepModel> DeepModel for Reverse<T>

Source§

impl<T: DeepModel, E: DeepModel> DeepModel for Result<T, E>

Source§

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

Source§

impl<T: ?Sized> DeepModel for *const T

Source§

impl<T: ?Sized> DeepModel for *mut T

Source§

impl<U: DeepModel, T: DeepModel> DeepModel for (U, T)

Source§

impl<V: DeepModel, U: DeepModel, T: DeepModel> DeepModel for (V, U, T)

Source§

impl<W: DeepModel, V: DeepModel, U: DeepModel, T: DeepModel> DeepModel for (W, V, U, T)

Source§

impl<X: DeepModel, W: DeepModel, V: DeepModel, U: DeepModel, T: DeepModel> DeepModel for (X, W, V, U, T)

Source§

impl<Y: DeepModel, X: DeepModel, W: DeepModel, V: DeepModel, U: DeepModel, T: DeepModel> DeepModel for (Y, X, W, V, U, T)

Source§

impl<Z: DeepModel, Y: DeepModel, X: DeepModel, W: DeepModel, V: DeepModel, U: DeepModel, T: DeepModel> DeepModel for (Z, Y, X, W, V, U, T)

Implementors§