Trait FieldType

Source
pub trait FieldType<FieldPath> {
    type Ty;
}
Expand description

For querying the type of the FieldPath field.

Structs generally implement this with a TStr parameter, while enums implement this with a VariantField parameter

Required Associated Types§

Source

type Ty

The type of the FieldPath field.

Implementations on Foreign Types§

Source§

impl<'a, T, NP, __Ty> FieldType<NP> for &'a T
where T: FieldType<NP, Ty = __Ty> + ?Sized,

Source§

type Ty = <T as FieldType<NP>>::Ty

Source§

impl<'a, T, NP, __Ty> FieldType<NP> for &'a mut T
where T: FieldType<NP, Ty = __Ty> + ?Sized + 'a,

Source§

type Ty = <T as FieldType<NP>>::Ty

Source§

impl<P, NP, __Ty> FieldType<NP> for Pin<P>
where P::Target: FieldType<NP, Ty = __Ty> + Sized, P: Deref,

Source§

type Ty = <<P as Deref>::Target as FieldType<NP>>::Ty

Source§

impl<T, NP, __Ty> FieldType<NP> for Box<T>
where T: FieldType<NP, Ty = __Ty> + ?Sized,

Source§

type Ty = <T as FieldType<NP>>::Ty

Source§

impl<T, NP, __Ty> FieldType<NP> for Rc<T>
where T: FieldType<NP, Ty = __Ty> + ?Sized,

Source§

type Ty = <T as FieldType<NP>>::Ty

Source§

impl<T, NP, __Ty> FieldType<NP> for Arc<T>
where T: FieldType<NP, Ty = __Ty> + ?Sized,

Source§

type Ty = <T as FieldType<NP>>::Ty

Source§

impl<T, NP, __Ty> FieldType<NP> for ManuallyDrop<T>
where T: FieldType<NP, Ty = __Ty>,

Source§

type Ty = <T as FieldType<NP>>::Ty

Source§

impl<T, P> FieldType<P> for [T; 0]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 1]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 2]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 3]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 4]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 5]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 6]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 7]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 8]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 9]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 10]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 11]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 12]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 13]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 14]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 15]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 16]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 17]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 18]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 19]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 20]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 21]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 22]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 23]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 24]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 25]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 26]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 27]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 28]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 29]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 30]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 31]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Source§

impl<T, P> FieldType<P> for [T; 32]
where P: IsPathForArray<Self>,

Source§

type Ty = T

Implementors§

Source§

impl<T, NP, __Ty> FieldType<NP> for FieldCloner<T>
where T: FieldType<NP, Ty = __Ty>,

Source§

type Ty = <T as FieldType<NP>>::Ty

Source§

impl<T, NP, __Ty> FieldType<NP> for StrucWrapper<T>
where T: FieldType<NP, Ty = __Ty>,

Source§

type Ty = <T as FieldType<NP>>::Ty

Source§

impl<T, V, F> FieldType<F> for VariantProxy<T, V>
where T: ?Sized + FieldType<VariantField<V, F>>, V: IsTStr,

Source§

type Ty = <T as FieldType<VariantField<V, F>>>::Ty