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§
type DeepModelTy
Implementations on Foreign Types§
Source§impl DeepModel for String
Available on crate feature std only.
impl DeepModel for String
Available on crate feature
std only.type DeepModelTy = Seq<char>
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)
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)
type DeepModelTy = (<A as DeepModel>::DeepModelTy, <Z as DeepModel>::DeepModelTy, <Y as DeepModel>::DeepModelTy, <X as DeepModel>::DeepModelTy, <W as DeepModel>::DeepModelTy, <V as DeepModel>::DeepModelTy, <U as DeepModel>::DeepModelTy, <T as DeepModel>::DeepModelTy)
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)
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)
type DeepModelTy = (<B as DeepModel>::DeepModelTy, <A as DeepModel>::DeepModelTy, <Z as DeepModel>::DeepModelTy, <Y as DeepModel>::DeepModelTy, <X as DeepModel>::DeepModelTy, <W as DeepModel>::DeepModelTy, <V as DeepModel>::DeepModelTy, <U as DeepModel>::DeepModelTy, <T as DeepModel>::DeepModelTy)
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)
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)
type DeepModelTy = (<C as DeepModel>::DeepModelTy, <B as DeepModel>::DeepModelTy, <A as DeepModel>::DeepModelTy, <Z as DeepModel>::DeepModelTy, <Y as DeepModel>::DeepModelTy, <X as DeepModel>::DeepModelTy, <W as DeepModel>::DeepModelTy, <V as DeepModel>::DeepModelTy, <U as DeepModel>::DeepModelTy, <T as DeepModel>::DeepModelTy)
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)
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)
type DeepModelTy = (<D as DeepModel>::DeepModelTy, <C as DeepModel>::DeepModelTy, <B as DeepModel>::DeepModelTy, <A as DeepModel>::DeepModelTy, <Z as DeepModel>::DeepModelTy, <Y as DeepModel>::DeepModelTy, <X as DeepModel>::DeepModelTy, <W as DeepModel>::DeepModelTy, <V as DeepModel>::DeepModelTy, <U as DeepModel>::DeepModelTy, <T as DeepModel>::DeepModelTy)
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)
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)
type DeepModelTy = (<E as DeepModel>::DeepModelTy, <D as DeepModel>::DeepModelTy, <C as DeepModel>::DeepModelTy, <B as DeepModel>::DeepModelTy, <A as DeepModel>::DeepModelTy, <Z as DeepModel>::DeepModelTy, <Y as DeepModel>::DeepModelTy, <X as DeepModel>::DeepModelTy, <W as DeepModel>::DeepModelTy, <V as DeepModel>::DeepModelTy, <U as DeepModel>::DeepModelTy, <T as DeepModel>::DeepModelTy)
Source§impl<T: DeepModel + ?Sized> DeepModel for &T
impl<T: DeepModel + ?Sized> DeepModel for &T
type DeepModelTy = <T as DeepModel>::DeepModelTy
Source§impl<T: DeepModel + ?Sized> DeepModel for &mut T
impl<T: DeepModel + ?Sized> DeepModel for &mut T
type DeepModelTy = <T as DeepModel>::DeepModelTy
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
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
type DeepModelTy = Box<<T as DeepModel>::DeepModelTy>
Source§impl<T: DeepModel> DeepModel for Bound<T>
impl<T: DeepModel> DeepModel for Bound<T>
type DeepModelTy = Bound<<T as DeepModel>::DeepModelTy>
Source§impl<T: DeepModel> DeepModel for Option<T>
impl<T: DeepModel> DeepModel for Option<T>
type DeepModelTy = Option<<T as DeepModel>::DeepModelTy>
Source§impl<T: DeepModel> DeepModel for [T]
impl<T: DeepModel> DeepModel for [T]
type DeepModelTy = Seq<<T as DeepModel>::DeepModelTy>
Source§impl<T: DeepModel> DeepModel for (T,)
impl<T: DeepModel> DeepModel for (T,)
type DeepModelTy = (<T as DeepModel>::DeepModelTy,)
Source§impl<T: DeepModel> DeepModel for VecDeque<T>
impl<T: DeepModel> DeepModel for VecDeque<T>
type DeepModelTy = Seq<<T as DeepModel>::DeepModelTy>
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
impl<T: DeepModel> DeepModel for Rc<T>
Available on non-crate feature
nightly only.Dummy impls that don’t use the unstable trait Allocator
type DeepModelTy = <T as DeepModel>::DeepModelTy
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
impl<T: DeepModel> DeepModel for Arc<T>
Available on non-crate feature
nightly only.Dummy impls that don’t use the unstable trait Allocator