Trait RevFieldType

Source
pub trait RevFieldType<This: ?Sized>: IsSingleFieldPath {
    type Ty: ?Sized;
}
Expand description

Like FieldType,except that the parameters are reversed. This is the type we are accessing,and Self is a field path.

Required Associated Types§

Source

type Ty: ?Sized

The type of the field.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<F0, T0, F1, T1, F2, T2, F3, T3, F4, T4, F5, T5, F6, T6, FL, TL, This> RevFieldType<This> for NestedFieldPath<(F0, F1, F2, F3, F4, F5, F6, FL)>
where This: ?Sized, F0: RevFieldType<This, Ty = T0>, T0: ?Sized, F1: RevFieldType<T0, Ty = T1>, T1: ?Sized, F2: RevFieldType<T1, Ty = T2>, T2: ?Sized, F3: RevFieldType<T2, Ty = T3>, T3: ?Sized, F4: RevFieldType<T3, Ty = T4>, T4: ?Sized, F5: RevFieldType<T4, Ty = T5>, T5: ?Sized, F6: RevFieldType<T5, Ty = T6>, T6: ?Sized, FL: RevFieldType<T6, Ty = TL>, TL: ?Sized,

Source§

type Ty = TL

Source§

impl<F0, T0, F1, T1, F2, T2, F3, T3, F4, T4, F5, T5, FL, TL, This> RevFieldType<This> for NestedFieldPath<(F0, F1, F2, F3, F4, F5, FL)>
where This: ?Sized, F0: RevFieldType<This, Ty = T0>, T0: ?Sized, F1: RevFieldType<T0, Ty = T1>, T1: ?Sized, F2: RevFieldType<T1, Ty = T2>, T2: ?Sized, F3: RevFieldType<T2, Ty = T3>, T3: ?Sized, F4: RevFieldType<T3, Ty = T4>, T4: ?Sized, F5: RevFieldType<T4, Ty = T5>, T5: ?Sized, FL: RevFieldType<T5, Ty = TL>, TL: ?Sized,

Source§

type Ty = TL

Source§

impl<F0, T0, F1, T1, F2, T2, F3, T3, F4, T4, FL, TL, This> RevFieldType<This> for NestedFieldPath<(F0, F1, F2, F3, F4, FL)>
where This: ?Sized, F0: RevFieldType<This, Ty = T0>, T0: ?Sized, F1: RevFieldType<T0, Ty = T1>, T1: ?Sized, F2: RevFieldType<T1, Ty = T2>, T2: ?Sized, F3: RevFieldType<T2, Ty = T3>, T3: ?Sized, F4: RevFieldType<T3, Ty = T4>, T4: ?Sized, FL: RevFieldType<T4, Ty = TL>, TL: ?Sized,

Source§

type Ty = TL

Source§

impl<F0, T0, F1, T1, F2, T2, F3, T3, FL, TL, This> RevFieldType<This> for NestedFieldPath<(F0, F1, F2, F3, FL)>
where This: ?Sized, F0: RevFieldType<This, Ty = T0>, T0: ?Sized, F1: RevFieldType<T0, Ty = T1>, T1: ?Sized, F2: RevFieldType<T1, Ty = T2>, T2: ?Sized, F3: RevFieldType<T2, Ty = T3>, T3: ?Sized, FL: RevFieldType<T3, Ty = TL>, TL: ?Sized,

Source§

type Ty = TL

Source§

impl<F0, T0, F1, T1, F2, T2, FL, TL, This> RevFieldType<This> for NestedFieldPath<(F0, F1, F2, FL)>
where This: ?Sized, F0: RevFieldType<This, Ty = T0>, T0: ?Sized, F1: RevFieldType<T0, Ty = T1>, T1: ?Sized, F2: RevFieldType<T1, Ty = T2>, T2: ?Sized, FL: RevFieldType<T2, Ty = TL>, TL: ?Sized,

Source§

type Ty = TL

Source§

impl<F0, T0, F1, T1, FL, TL, This> RevFieldType<This> for NestedFieldPath<(F0, F1, FL)>
where This: ?Sized, F0: RevFieldType<This, Ty = T0>, T0: ?Sized, F1: RevFieldType<T0, Ty = T1>, T1: ?Sized, FL: RevFieldType<T1, Ty = TL>, TL: ?Sized,

Source§

type Ty = TL

Source§

impl<F0, T0, FL, TL, This> RevFieldType<This> for NestedFieldPath<(F0, FL)>
where This: ?Sized, F0: RevFieldType<This, Ty = T0>, T0: ?Sized, FL: RevFieldType<T0, Ty = TL>, TL: ?Sized,

Source§

type Ty = TL

Source§

impl<This> RevFieldType<This> for NestedFieldPath<()>
where This: ?Sized,

Source§

type Ty = This

Source§

impl<This, A, B, U> RevFieldType<This> for NestedFieldPathSet<A, (B,), U>
where This: ?Sized, A: RevFieldType<This>, B: RevFieldType<A::Ty>,

Source§

type Ty = <B as RevFieldType<<A as RevFieldType<This>>::Ty>>::Ty

Source§

impl<This, F0> RevFieldType<This> for NestedFieldPath<(F0,)>
where This: ?Sized, F0: RevFieldType<This>,

Source§

type Ty = <F0 as RevFieldType<This>>::Ty

Source§

impl<This, S> RevFieldType<This> for VariantName<TStr<S>>
where This: ?Sized + IsVariant<TStr<S>>, S: 'static,

Source§

type Ty = VariantProxy<This, TStr<S>>

Source§

impl<This, T> RevFieldType<This> for TStr<T>
where This: ?Sized + FieldType<Self>,

Source§

type Ty = <This as FieldType<TStr<T>>>::Ty

Source§

impl<This, T, U> RevFieldType<This> for FieldPathSet<(T,), U>
where This: ?Sized, T: RevFieldType<This>,

Source§

type Ty = <T as RevFieldType<This>>::Ty

Source§

impl<This, _V, _F> RevFieldType<This> for VariantField<_V, _F>
where This: ?Sized + FieldType<Self>,

Source§

type Ty = <This as FieldType<VariantField<_V, _F>>>::Ty