Struct FieldCloner

Source
#[repr(transparent)]
pub struct FieldCloner<T>(pub T);
Expand description

Wrapper that emulates by-value access to fields by cloning them.

This allows using types that only provide shared access to fields (implementing GetField/GetVariantField) to be passed to functions expecting by-value access to them (requiring IntoField/IntoVariantField), by cloning those fields.

§Struct Example

use structural::{FieldCloner, Structural, StructuralExt, fp, structural_alias};


let expected = ("what".to_string(), vec![0,1,2]);

let this = TheStruct{foo: "what".to_string(), bar: vec![0,1,2]};

// This doesn't compile,because `TheStruct` only provides shared access to the fields,
// implementing `GetField` to access both the `foo` and `bar` fields.
//
// assert_eq!( into_foo_bar(this), expected.clone() );

assert_eq!( into_foo_bar(FieldCloner(this.clone())), expected.clone() );

assert_eq!( into_foo_bar(FieldCloner(&this)), expected.clone() );

assert_eq!( into_foo_bar(FieldCloner(&&&&&this)), expected.clone() );


fn into_foo_bar<P, T>(this: P)-> (String, Vec<T>)
where
    P: TypeMove<String, Vec<T>>,
{
    this.into_fields(fp!(foo, bar))
}

#[derive(Structural,Clone)]
// Makes this struct only implement `GetField` for the fields,
// providing shared access to them.
#[struc(access="ref")]
struct TheStruct<T, U>{
    pub foo: T,
    pub bar: U,
}

structural::structural_alias!{
    // The same fields as `TheStruct`, with shared and by-value access to the fields.
    //
    // This trait isn't implemented by `TheStruct` because it only
    // provides shared access to the fields.
    trait TypeMove<T, U>{
        move foo: T,
        move bar: U,
    }
}

§Enum Example

use structural::{FieldCloner, Structural, StructuralExt, fp, structural_alias};


{
    let expected = Some((vec!["foo","bar"], [0, 1, 2]));
    
    let this = TheEnum::Both(vec!["foo","bar"], [0, 1, 2]);
    
    // This doesn't compile,because `TheEnum` only provides shared access to the fields,
    // implementing `GetField` to access both the `foo` and `bar` fields.
    //
    // assert_eq!( into_both(Box::new(this)), expected.clone() );
    
    assert_eq!( into_both(Box::new(FieldCloner(this.clone()))), expected.clone() );
    
    assert_eq!( into_both(Box::new(FieldCloner(&this))), expected.clone() );
    
    assert_eq!( into_both(Box::new(FieldCloner(&&&&&this))), expected.clone() );
}
{
    let this = TheEnum::Left{left: vec!["foo","bar"]};
    
    assert_eq!( into_both(Box::new(FieldCloner(this.clone()))), None );
    
    assert_eq!( into_both(Box::new(FieldCloner(&this))), None );
    
    assert_eq!( into_both(Box::new(FieldCloner(&&&&&this))), None );
}


fn into_both<'a,T>(
    this: Box<dyn TypeMove<Vec<T>, [u32;3]> + 'a>
)-> Option<(Vec<T>, [u32;3])> {
    this.into_fields(fp!(::Both=>0,1))
}

#[derive(Structural, Clone)]
// Makes this enum only implement `GetVariantField` for the fields,
// providing shared access to them.
#[struc(access="ref")]
pub enum TheEnum<L, R> {
    Both(L, R),
    Left{left: L},
    Right{right: R},
}

structural::structural_alias!{
    // The same fields as `TheEnum`, with shared and by-value access to the fields.
    //
    // This trait isn't implemented by `TheEnum` because it only
    // provides shared access to the fields.
    trait TypeMove<L, R>{
        move Both(L, R),
        move Left{left: L},
        move Right{right: R},
    }
}

Tuple Fields§

§0: T

Implementations§

Source§

impl<T> FieldCloner<T>

Source

pub fn as_ref(&self) -> FieldCloner<&T>

Turns a &FieldCloner<T> into a FieldCloner<&T>.

§Struct Example
use structural::{FieldCloner, StructuralExt, fp};
use structural::for_examples::{FooBarRef, FooBarMove_SI};

let this = FieldCloner(FooBarRef{foo: 100, bar: "baz"});

assert_eq!( into_foo(this.as_ref()), 100 );

fn into_foo<T, U>(this: impl FooBarMove_SI<T, U>)-> T {
    this.into_field(fp!(foo))
}
§Enum Example
use structural::{FieldCloner, StructuralExt, fp};
use structural::for_examples::{EnumRef, EnumMove_SI};

let this = FieldCloner(EnumRef::Left{left: 10});

assert_eq!( into_left(this.as_ref()), Some(10) );

fn into_left(this: impl EnumMove_SI<u32, bool>)-> Option<u32> {
    this.into_field(fp!(::Left.left))
}
Source

pub fn as_mut(&mut self) -> FieldCloner<&mut T>

Turns a &mut FieldCloner<T> into a FieldCloner<&mut T>.

§Struct Example
use structural::{FieldCloner, StructuralExt, fp};
use structural::for_examples::{FooBarRef, FooBarMove_SI};

let this = FieldCloner(FooBarRef{foo: 100, bar: "baz"});

assert_eq!( into_bar(this.as_ref()), "baz" );

fn into_bar<T, U>(this: impl FooBarMove_SI<T, U>)-> U {
    this.into_field(fp!(bar))
}
§Enum Example
use structural::{FieldCloner, StructuralExt, fp};
use structural::for_examples::{EnumRef, EnumMove_SI};

let mut this = FieldCloner(EnumRef::Right{right: false});

assert_eq!( into_right(this.as_mut()), Some(false) );

fn into_right(this: impl EnumMove_SI<u32, bool>)-> Option<bool> {
    this.into_field(fp!(::Right.right))
}
Source

pub fn map<F, U>(self, f: F) -> FieldCloner<U>
where F: FnOnce(T) -> U,

Transforms the wrapped value with the func function.

Source

pub fn then<F, U>(self, f: F) -> FieldCloner<U>
where F: FnOnce(Self) -> U,

Calls func with self,rewrapping its return value in a FieldCloner<U>

Source§

impl<T: Clone> FieldCloner<&T>

Source

pub fn cloned(self) -> FieldCloner<T>

Maps the wrapped reference into a clone.

Source§

impl<T: Clone> FieldCloner<&mut T>

Source

pub fn cloned(self) -> FieldCloner<T>

Maps the wrapped mutable reference into a clone.

Trait Implementations§

Source§

impl<T: Clone> Clone for FieldCloner<T>

Source§

fn clone(&self) -> FieldCloner<T>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T> ConstDefault for FieldCloner<T>
where T: ConstDefault,

Source§

const DEFAULT: Self

The default value for Self.
Source§

impl<T: Debug> Debug for FieldCloner<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: Default> Default for FieldCloner<T>

Source§

fn default() -> FieldCloner<T>

Returns the “default value” for a type. Read more
Source§

impl<T> DropFields for FieldCloner<T>

Source§

fn pre_move(&mut self)

What this type does right before any field is moved.
Source§

unsafe fn drop_fields(&mut self, _: MovedOutFields)

Drops all the fields that were not moved out. Read more
Source§

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

Source§

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

The type of the FieldPath field.
Source§

impl<T, __From> FromStructural<__From> for FieldCloner<T>
where T: FromStructural<__From>,

Source§

fn from_structural(from: __From) -> Self

Performs the conversion
Source§

impl<T, __F, __Ty> GetField<__F> for FieldCloner<T>
where T: GetField<__F, Ty = __Ty>,

Source§

fn get_field_(&self, fname: __F) -> &__Ty

Accesses the FieldName field by reference.
Source§

impl<T, __F, __Ty> GetFieldMut<__F> for FieldCloner<T>
where FieldCloner<T>: Sized, T: GetFieldMut<__F, Ty = __Ty>,

Source§

fn get_field_mut_(&mut self, fname: __F) -> &mut __Ty

Accesses the FieldName field by mutable reference.
Source§

unsafe fn get_field_raw_mut(this: *mut (), fname: __F) -> *mut __Ty
where Self: Sized,

Gets a mutable pointer for the field. Read more
Source§

fn get_field_raw_mut_fn(&self) -> GetFieldRawMutFn<__F, __Ty>

Gets the get_field_raw_mut associated function as a function pointer.
Source§

impl<T, __V, __F, __Ty> GetVariantField<TStr<__V>, __F> for FieldCloner<T>
where T: GetVariantField<TStr<__V>, __F, Ty = __Ty>,

Source§

fn get_vfield_( &self, vname: TStr<__V>, fname: __F, ) -> Option<&GetVariantFieldType<T, TStr<__V>, __F>>

Accesses the F field in the V variant by reference.
Source§

unsafe fn get_vfield_unchecked(&self, variant: V, field: F) -> &Self::Ty

Accesses the F field in the V variant by reference, without checking that the enum is currently the V variant. Read more
Source§

impl<T, __V, __F, __Ty> GetVariantFieldMut<TStr<__V>, __F> for FieldCloner<T>
where FieldCloner<T>: Sized, T: GetVariantFieldMut<TStr<__V>, __F, Ty = __Ty>,

Source§

fn get_vfield_mut_(&mut self, vname: TStr<__V>, fname: __F) -> Option<&mut __Ty>

Accesses the F field in the V variant by mutable reference.
Source§

unsafe fn get_vfield_raw_mut_( this: *mut (), vname: TStr<__V>, fname: __F, ) -> Option<NonNull<__Ty>>
where Self: Sized,

Accesses the F field in the V variant by raw pointer. Read more
Source§

fn get_vfield_raw_mut_unchecked_fn(&self) -> GetFieldRawMutFn<__F, __Ty>

Gets a function pointer to the get_vfield_raw_mut_unchecked method. Read more
Source§

fn get_vfield_raw_mut_fn(&self) -> GetVFieldRawMutFn<TStr<__V>, __F, __Ty>

Gets a function pointer to the get_vfield_raw_mut_ method. Read more
Source§

unsafe fn get_vfield_mut_unchecked( &mut self, variant: V, field: F, ) -> &mut Self::Ty

Accesses the F field in the V variant by mutable reference, without checking that the enum is currently the V variant. Read more
Source§

unsafe fn get_vfield_raw_mut_unchecked(ptr: *mut (), field: F) -> *mut Self::Ty
where Self: Sized, V: ConstDefault,

Accesses the F field in the V variant by raw pointer, without checking that the enum is currently the V variant. Read more
Source§

impl<T: Hash> Hash for FieldCloner<T>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<T, P> IntoField<P> for FieldCloner<T>
where T: GetField<P>, T::Ty: Clone,

Source§

fn into_field_(self, path: P) -> Self::Ty

Converts this into the field by value.
Source§

unsafe fn move_out_field_( &mut self, path: P, _: &mut MovedOutFields, ) -> Self::Ty

Moves out the field from self. Read more
Source§

impl<T, V, F> IntoVariantField<TStr<V>, F> for FieldCloner<T>
where T: GetVariantField<TStr<V>, F>, T::Ty: Clone,

Source§

fn into_vfield_(self, variant_name: TStr<V>, field_name: F) -> Option<Self::Ty>

Converts this into the F field in the V variant by value.
Source§

unsafe fn move_out_vfield_( &mut self, variant_name: TStr<V>, field_name: F, _: &mut MovedOutFields, ) -> Option<Self::Ty>

Moves out the F field from the V variant. Read more
Source§

unsafe fn into_vfield_unchecked_( self, variant_name: V, field_name: F, ) -> Self::Ty
where Self: Sized,

Converts this into the F field in the V variant by value. Read more
Source§

unsafe fn move_out_vfield_unchecked_( &mut self, variant_name: V, field_name: F, moved_fields: &mut MovedOutFields, ) -> Self::Ty

Converts this into the F field in the V variant by value, without checking that the enum is currently the V variant. Read more
Source§

impl<T, __V> IsVariant<TStr<__V>> for FieldCloner<T>
where T: IsVariant<TStr<__V>>,

Source§

fn is_variant_(&self, name: TStr<__V>) -> bool

Checks whether this enum is the variant that V stands for.
Source§

impl<T: Ord> Ord for FieldCloner<T>

Source§

fn cmp(&self, other: &FieldCloner<T>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl<T: PartialEq> PartialEq for FieldCloner<T>

Source§

fn eq(&self, other: &FieldCloner<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T: PartialOrd> PartialOrd for FieldCloner<T>

Source§

fn partial_cmp(&self, other: &FieldCloner<T>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<T, __From, __Err> TryFromStructural<__From> for FieldCloner<T>
where T: TryFromStructural<__From, Error = __Err>,

Source§

type Error = __Err

The error parameter of TryFromError, returned from try_into_structural on conversion error.
Source§

fn try_from_structural( from: __From, ) -> Result<Self, TryFromError<__From, __Err>>

Performs the conversion
Source§

impl<T> VariantCount for FieldCloner<T>
where T: VariantCount,

Source§

type Count = <T as VariantCount>::Count

This is a TStr (eg:TS!(3)) representing the amount of variants of the enum. Read more
Source§

impl<T: Copy> Copy for FieldCloner<T>

Source§

impl<T: Eq> Eq for FieldCloner<T>

Source§

impl<T> Structural for FieldCloner<T>
where T: Structural,

Source§

impl<T> StructuralPartialEq for FieldCloner<T>

Auto Trait Implementations§

§

impl<T> Freeze for FieldCloner<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for FieldCloner<T>
where T: RefUnwindSafe,

§

impl<T> Send for FieldCloner<T>
where T: Send,

§

impl<T> Sync for FieldCloner<T>
where T: Sync,

§

impl<T> Unpin for FieldCloner<T>
where T: Unpin,

§

impl<T> UnwindSafe for FieldCloner<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<This> EnumExt for This
where This: ?Sized,

Source§

fn as_variant<V>( &self, vari: TStr<V>, ) -> Result<&VariantProxy<Self, TStr<V>>, &Self>
where Self: IsVariant<TStr<V>>,

Fallibly converts a reference to an enum into a reference of a VariantProxy of some variant. Read more
Source§

fn as_mut_variant<V>( &mut self, vari: TStr<V>, ) -> Result<&mut VariantProxy<Self, TStr<V>>, &mut Self>
where Self: IsVariant<TStr<V>>,

Fallibly converts a mutable reference to an enum into a mutable reference of a VariantProxy of some variant. Read more
Source§

unsafe fn as_raw_mut_variant<V>( this: *mut Self, vari: TStr<V>, ) -> Result<*mut VariantProxy<Self, TStr<V>>, *mut Self>
where Self: IsVariant<TStr<V>>,

Fallibly converts a raw pointer to an enum into a raw pointer of a VariantProxy of some variant. Read more
Source§

fn into_variant<V>( self, vari: TStr<V>, ) -> Result<VariantProxy<Self, TStr<V>>, Self>
where Self: IsVariant<TStr<V>> + Sized,

Fallibly converts an enum into a VariantProxy of some variant. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<This, T> IntoStructural<T> for This
where T: FromStructural<This>,

Source§

fn into_structural(self) -> T

Performs the conversion
Source§

impl<T> SelfOps for T
where T: ?Sized,

Source§

const T: PhantomData<fn() -> Self> = PhantomData

Represents Self by using a VariantPhantom, using the syntax Type::T to pass it in methods with _:VariantPhantom<T> parameters. Read more
Source§

const T_D: PhantomData<Self> = PhantomData

Represents Self by using a VariantDropPhantom,for specialized cases. Read more
Source§

fn assert_ty(self, _other: PhantomData<fn() -> Self>) -> Self
where Self: Sized,

Asserts that other is the same type as self.
Source§

fn assert_ty_ref(&self, _other: PhantomData<fn() -> Self>) -> &Self
where Self: Sized,

Asserts that other is the same type as self.
Source§

fn assert_ty_mut(&mut self, _other: PhantomData<fn() -> Self>) -> &mut Self
where Self: Sized,

Asserts that other is the same type as self.
Source§

fn ty_(&self) -> PhantomData<fn() -> Self>

Equivalent to SelfOps::T,as a method. Read more
Source§

fn ty_d(&self) -> PhantomData<Self>

Equivalent to Self::ty_,for specialized cases. Read more
Source§

fn ty_inv(&self) -> PhantomData<fn(Self) -> Self>

Equivalent to Self::ty_ with an invariant type.
Source§

fn ty_inv_ref(&self) -> PhantomData<Cell<&Self>>

Equivalent to Self::ty_ with an invariant lifetime.
Source§

fn eq_id(&self, other: &Self) -> bool

Identity comparison to another value of the same type. Read more
Source§

fn piped<F, U>(self, f: F) -> U
where F: FnOnce(Self) -> U, Self: Sized,

Emulates the pipeline operator,allowing method syntax in more places. Read more
Source§

fn piped_ref<'a, F, U>(&'a self, f: F) -> U
where F: FnOnce(&'a Self) -> U,

The same as piped except that the function takes &Self Useful for functions that take &Self instead of Self. Read more
Source§

fn piped_mut<'a, F, U>(&'a mut self, f: F) -> U
where F: FnOnce(&'a mut Self) -> U,

The same as piped except that the function takes &mut Self. Useful for functions that take &mut Self instead of Self.
Source§

fn mutated<F>(self, f: F) -> Self
where F: FnOnce(&mut Self), Self: Sized,

Mutates self using a closure taking self by mutable reference, passing it along the method chain. Read more
Source§

fn observe<F>(self, f: F) -> Self
where F: FnOnce(&Self), Self: Sized,

Observes the value of self passing it along unmodified. Useful in a long method chain. Read more
Source§

fn into_<T>(self, _: PhantomData<fn() -> T>) -> T
where Self: Into<T>,

Performs a conversion using Into. Read more
Source§

fn as_ref_<T>(&self) -> &T
where Self: AsRef<T>, T: ?Sized,

Performs a reference to reference conversion using AsRef, using the turbofish .as_ref_::<_>() syntax. Read more
Source§

fn as_mut_<T>(&mut self) -> &mut T
where Self: AsMut<T>, T: ?Sized,

Performs a mutable reference to mutable reference conversion using AsMut, using the turbofish .as_mut_::<_>() syntax. Read more
Source§

fn drop_(self)
where Self: Sized,

Drops self using method notation. Alternative to std::mem::drop. Read more
Source§

impl<T> StructuralExt for T
where T: ?Sized,

Source§

fn field_<'a, P>( &'a self, path: P, ) -> NormalizeFieldsOut<Result<&'a P::Ty, P::Err>>
where P: RevGetFieldImpl<'a, Self>, Result<&'a P::Ty, P::Err>: NormalizeFields,

Gets a reference to a field,determined by path. Read more
Source§

fn fields<'a, P>(&'a self, path: P) -> RevGetMultiFieldOut<'a, P, Self>
where P: RevGetMultiField<'a, Self>,

Gets references to multiple fields,determined by path. Read more
Source§

fn cloned_fields<'a, P>( &'a self, path: P, ) -> ClonedOut<RevGetMultiFieldOut<'a, P, Self>>
where P: RevGetMultiField<'a, Self>, RevGetMultiFieldOut<'a, P, Self>: Cloned,

Gets clones of multiple fields,determined by path. Read more
Source§

fn field_mut<'a, P>( &'a mut self, path: P, ) -> NormalizeFieldsOut<Result<&'a mut P::Ty, P::Err>>
where P: RevGetFieldMutImpl<'a, Self>, Result<&'a mut P::Ty, P::Err>: NormalizeFields,

Gets a mutable reference to a field,determined by path. Read more
Source§

fn fields_mut<'a, P>( &'a mut self, path: P, ) -> RevGetMultiFieldMutOut<'a, P, Self>
where P: RevGetMultiFieldMut<'a, Self>,

Gets mutable references to multiple fields,determined by path. Read more
Source§

fn into_field<P>(self, path: P) -> NormalizeFieldsOut<Result<P::Ty, P::Err>>
where P: RevIntoFieldImpl<Self>, P::Ty: Sized, Result<P::Ty, P::Err>: NormalizeFields, Self: Sized,

Converts ´self´ into a field,determined by path. Read more
Source§

fn into_fields<P>(self, path: P) -> RevIntoMultiFieldOut<P, Self>
where P: RevIntoMultiField<Self>, Self: Sized,

Converts self into multiple fields by value. Read more
Source§

fn is_variant<P>(&self, _path: P) -> bool
where P: IsTStr, Self: IsVariant<P>,

Checks whether an enum is a particular variant. Read more
Source§

fn into_struc<U>(self) -> U
where Self: IntoStructural<U>,

Converts this into another structural type using IntoStructural. Read more
Source§

fn try_into_struc<U>(self) -> Result<U, TryFromError<Self, Self::Error>>
where Self: TryIntoStructural<U>,

Performs a fallible conversion into another structural type using TryIntoStructural. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The error type returned when the conversion fails.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion
Source§

impl<This, T> TryIntoStructural<T> for This
where T: TryFromStructural<This>,

Source§

type Error = <T as TryFromStructural<This>>::Error

The error parameter of TryFromError, returned from try_into_structural on conversion error.
Source§

fn try_into_structural( self, ) -> Result<T, TryFromError<This, <This as TryIntoStructural<T>>::Error>>

Performs the conversion
Source§

impl<T> TypeIdentity for T
where T: ?Sized,

Source§

type Type = T

The same type as Self. Read more
Source§

fn into_type_val(self) -> Self::Type
where Self: Sized, Self::Type: Sized,

Converts a value back to the original type.
Source§

fn into_type_ref(&self) -> &Self::Type

Converts a reference back to the original type.
Source§

fn into_type_mut(&mut self) -> &mut Self::Type

Converts a mutable reference back to the original type.
Source§

fn into_type_box(self: Box<Self>) -> Box<Self::Type>

Converts a box back to the original type.
Source§

fn into_type_arc(this: Arc<Self>) -> Arc<Self::Type>

Converts an Arc back to the original type.
Source§

fn into_type_rc(this: Rc<Self>) -> Rc<Self::Type>

Converts an Rc back to the original type.
Source§

fn from_type_val(this: Self::Type) -> Self
where Self: Sized, Self::Type: Sized,

Converts a value back to the original type.
Source§

fn from_type_ref(this: &Self::Type) -> &Self

Converts a reference back to the original type.
Source§

fn from_type_mut(this: &mut Self::Type) -> &mut Self

Converts a mutable reference back to the original type.
Source§

fn from_type_box(this: Box<Self::Type>) -> Box<Self>

Converts a box back to the original type.
Source§

fn from_type_arc(this: Arc<Self::Type>) -> Arc<Self>

Converts an Arc back to the original type.
Source§

fn from_type_rc(this: Rc<Self::Type>) -> Rc<Self>

Converts an Rc back to the original type.
Source§

impl<This, T> Array0<T> for This
where This: ?Sized,

Source§

impl<This, V, T> Array0Variant<T, V> for This
where This: ?Sized,

Source§

impl<This, T> Array1<T> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = T> + ?Sized,

Source§

impl<This, T> Array10<T> for This
where This: IntoFieldMut<TStr<__TS<(__8,)>>, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__9,)>>> + Array_0_8<T> + ?Sized,

Source§

impl<This, V, T> Array10Variant<T, V> for This
where This: ArrayVariant_0_8<T, V, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__8,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__9,)>>> + ?Sized,

Source§

impl<This, T> Array11<T> for This
where This: IntoFieldMut<TStr<__TS<(__9,)>>, Ty = T, Ty = T, Ty = T> + Array_0_8<T> + IntoFieldMut<TStr<__TS<(__1, __0)>>> + IntoFieldMut<TStr<__TS<(__8,)>>> + ?Sized,

Source§

impl<This, V, T> Array11Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__8,)>>, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__9,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __0)>>> + ArrayVariant_0_8<T, V> + ?Sized,

Source§

impl<This, T> Array12<T> for This
where This: IntoFieldMut<TStr<__TS<(__9,)>>, Ty = T, Ty = T, Ty = T, Ty = T> + Array_0_8<T> + IntoFieldMut<TStr<__TS<(__1, __0)>>> + IntoFieldMut<TStr<__TS<(__8,)>>> + IntoFieldMut<TStr<__TS<(__1, __1)>>> + ?Sized,

Source§

impl<This, V, T> Array12Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__9,)>>, Ty = T, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__1, __0)>>> + ArrayVariant_0_8<T, V> + IntoVariantFieldMut<V, TStr<__TS<(__1, __1)>>> + IntoVariantFieldMut<V, TStr<__TS<(__8,)>>> + ?Sized,

Source§

impl<This, T> Array13<T> for This
where This: Array_0_8<T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__1, __0)>>> + IntoFieldMut<TStr<__TS<(__8,)>>> + IntoFieldMut<TStr<__TS<(__1, __1)>>> + IntoFieldMut<TStr<__TS<(__1, __2)>>> + IntoFieldMut<TStr<__TS<(__9,)>>> + ?Sized,

Source§

impl<This, V, T> Array13Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__9,)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__1, __0)>>> + ArrayVariant_0_8<T, V> + IntoVariantFieldMut<V, TStr<__TS<(__1, __1)>>> + IntoVariantFieldMut<V, TStr<__TS<(__8,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __2)>>> + ?Sized,

Source§

impl<This, T> Array14<T> for This
where This: IntoFieldMut<TStr<__TS<(__1, __0)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__8,)>>> + IntoFieldMut<TStr<__TS<(__1, __1)>>> + IntoFieldMut<TStr<__TS<(__1, __2)>>> + IntoFieldMut<TStr<__TS<(__9,)>>> + IntoFieldMut<TStr<__TS<(__1, __3)>>> + Array_0_8<T> + ?Sized,

Source§

impl<This, V, T> Array14Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__1, __0)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + ArrayVariant_0_8<T, V> + IntoVariantFieldMut<V, TStr<__TS<(__1, __1)>>> + IntoVariantFieldMut<V, TStr<__TS<(__8,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __2)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __3)>>> + IntoVariantFieldMut<V, TStr<__TS<(__9,)>>> + ?Sized,

Source§

impl<This, T> Array15<T> for This
where This: IntoFieldMut<TStr<__TS<(__8,)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__1, __1)>>> + IntoFieldMut<TStr<__TS<(__1, __2)>>> + IntoFieldMut<TStr<__TS<(__9,)>>> + IntoFieldMut<TStr<__TS<(__1, __3)>>> + Array_0_8<T> + IntoFieldMut<TStr<__TS<(__1, __4)>>> + IntoFieldMut<TStr<__TS<(__1, __0)>>> + ?Sized,

Source§

impl<This, V, T> Array15Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__1, __0)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + ArrayVariant_0_8<T, V> + IntoVariantFieldMut<V, TStr<__TS<(__1, __1)>>> + IntoVariantFieldMut<V, TStr<__TS<(__8,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __2)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __3)>>> + IntoVariantFieldMut<V, TStr<__TS<(__9,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __4)>>> + ?Sized,

Source§

impl<This, T> Array16<T> for This
where This: Array_8_16<T> + ?Sized,

Source§

impl<This, V, T> Array16Variant<T, V> for This
where This: ArrayVariant_8_16<T, V> + ?Sized,

Source§

impl<This, T> Array17<T> for This
where This: Array_8_16<T, Ty = T> + IntoFieldMut<TStr<__TS<(__1, __6)>>> + ?Sized,

Source§

impl<This, V, T> Array17Variant<T, V> for This
where This: ArrayVariant_8_16<T, V, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__1, __6)>>> + ?Sized,

Source§

impl<This, T> Array18<T> for This
where This: IntoFieldMut<TStr<__TS<(__1, __6)>>, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__1, __7)>>> + Array_8_16<T> + ?Sized,

Source§

impl<This, V, T> Array18Variant<T, V> for This
where This: ArrayVariant_8_16<T, V, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__1, __6)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __7)>>> + ?Sized,

Source§

impl<This, T> Array19<T> for This
where This: IntoFieldMut<TStr<__TS<(__1, __7)>>, Ty = T, Ty = T, Ty = T> + Array_8_16<T> + IntoFieldMut<TStr<__TS<(__1, __8)>>> + IntoFieldMut<TStr<__TS<(__1, __6)>>> + ?Sized,

Source§

impl<This, V, T> Array19Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__1, __6)>>, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__1, __7)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __8)>>> + ArrayVariant_8_16<T, V> + ?Sized,

Source§

impl<This, V, T> Array1Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = T> + ?Sized,

Source§

impl<This, T> Array2<T> for This
where This: IntoFieldMut<TStr<__TS<(__1,)>>, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__0,)>>> + ?Sized,

Source§

impl<This, T> Array20<T> for This
where This: IntoFieldMut<TStr<__TS<(__1, __7)>>, Ty = T, Ty = T, Ty = T, Ty = T> + Array_8_16<T> + IntoFieldMut<TStr<__TS<(__1, __8)>>> + IntoFieldMut<TStr<__TS<(__1, __6)>>> + IntoFieldMut<TStr<__TS<(__1, __9)>>> + ?Sized,

Source§

impl<This, V, T> Array20Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__1, __7)>>, Ty = T, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__1, __8)>>> + ArrayVariant_8_16<T, V> + IntoVariantFieldMut<V, TStr<__TS<(__1, __9)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __6)>>> + ?Sized,

Source§

impl<This, T> Array21<T> for This
where This: Array_8_16<T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__1, __8)>>> + IntoFieldMut<TStr<__TS<(__1, __6)>>> + IntoFieldMut<TStr<__TS<(__1, __9)>>> + IntoFieldMut<TStr<__TS<(__2, __0)>>> + IntoFieldMut<TStr<__TS<(__1, __7)>>> + ?Sized,

Source§

impl<This, V, T> Array21Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__1, __7)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__1, __8)>>> + ArrayVariant_8_16<T, V> + IntoVariantFieldMut<V, TStr<__TS<(__1, __9)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __6)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __0)>>> + ?Sized,

Source§

impl<This, T> Array22<T> for This
where This: IntoFieldMut<TStr<__TS<(__1, __8)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__1, __6)>>> + IntoFieldMut<TStr<__TS<(__1, __9)>>> + IntoFieldMut<TStr<__TS<(__2, __0)>>> + IntoFieldMut<TStr<__TS<(__1, __7)>>> + IntoFieldMut<TStr<__TS<(__2, __1)>>> + Array_8_16<T> + ?Sized,

Source§

impl<This, V, T> Array22Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__1, __8)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + ArrayVariant_8_16<T, V> + IntoVariantFieldMut<V, TStr<__TS<(__1, __9)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __6)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __0)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __1)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __7)>>> + ?Sized,

Source§

impl<This, T> Array23<T> for This
where This: IntoFieldMut<TStr<__TS<(__1, __6)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__1, __9)>>> + IntoFieldMut<TStr<__TS<(__2, __0)>>> + IntoFieldMut<TStr<__TS<(__1, __7)>>> + IntoFieldMut<TStr<__TS<(__2, __1)>>> + Array_8_16<T> + IntoFieldMut<TStr<__TS<(__2, __2)>>> + IntoFieldMut<TStr<__TS<(__1, __8)>>> + ?Sized,

Source§

impl<This, V, T> Array23Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__1, __8)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + ArrayVariant_8_16<T, V> + IntoVariantFieldMut<V, TStr<__TS<(__1, __9)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __6)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __0)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __1)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __7)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __2)>>> + ?Sized,

Source§

impl<This, T> Array24<T> for This
where This: Array_16_24<T> + ?Sized,

Source§

impl<This, V, T> Array24Variant<T, V> for This
where This: ArrayVariant_16_24<T, V> + ?Sized,

Source§

impl<This, T> Array25<T> for This
where This: Array_16_24<T, Ty = T> + IntoFieldMut<TStr<__TS<(__2, __4)>>> + ?Sized,

Source§

impl<This, V, T> Array25Variant<T, V> for This
where This: ArrayVariant_16_24<T, V, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__2, __4)>>> + ?Sized,

Source§

impl<This, T> Array26<T> for This
where This: IntoFieldMut<TStr<__TS<(__2, __4)>>, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__2, __5)>>> + Array_16_24<T> + ?Sized,

Source§

impl<This, V, T> Array26Variant<T, V> for This
where This: ArrayVariant_16_24<T, V, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__2, __4)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __5)>>> + ?Sized,

Source§

impl<This, T> Array27<T> for This
where This: IntoFieldMut<TStr<__TS<(__2, __5)>>, Ty = T, Ty = T, Ty = T> + Array_16_24<T> + IntoFieldMut<TStr<__TS<(__2, __6)>>> + IntoFieldMut<TStr<__TS<(__2, __4)>>> + ?Sized,

Source§

impl<This, V, T> Array27Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__2, __4)>>, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__2, __5)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __6)>>> + ArrayVariant_16_24<T, V> + ?Sized,

Source§

impl<This, T> Array28<T> for This
where This: IntoFieldMut<TStr<__TS<(__2, __5)>>, Ty = T, Ty = T, Ty = T, Ty = T> + Array_16_24<T> + IntoFieldMut<TStr<__TS<(__2, __6)>>> + IntoFieldMut<TStr<__TS<(__2, __4)>>> + IntoFieldMut<TStr<__TS<(__2, __7)>>> + ?Sized,

Source§

impl<This, V, T> Array28Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__2, __5)>>, Ty = T, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__2, __6)>>> + ArrayVariant_16_24<T, V> + IntoVariantFieldMut<V, TStr<__TS<(__2, __7)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __4)>>> + ?Sized,

Source§

impl<This, T> Array29<T> for This
where This: Array_16_24<T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__2, __6)>>> + IntoFieldMut<TStr<__TS<(__2, __4)>>> + IntoFieldMut<TStr<__TS<(__2, __7)>>> + IntoFieldMut<TStr<__TS<(__2, __8)>>> + IntoFieldMut<TStr<__TS<(__2, __5)>>> + ?Sized,

Source§

impl<This, V, T> Array29Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__2, __5)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__2, __6)>>> + ArrayVariant_16_24<T, V> + IntoVariantFieldMut<V, TStr<__TS<(__2, __7)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __4)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __8)>>> + ?Sized,

Source§

impl<This, V, T> Array2Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + ?Sized,

Source§

impl<This, T> Array3<T> for This
where This: IntoFieldMut<TStr<__TS<(__1,)>>, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__0,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>> + ?Sized,

Source§

impl<This, T> Array30<T> for This
where This: IntoFieldMut<TStr<__TS<(__2, __6)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__2, __4)>>> + IntoFieldMut<TStr<__TS<(__2, __7)>>> + IntoFieldMut<TStr<__TS<(__2, __8)>>> + IntoFieldMut<TStr<__TS<(__2, __5)>>> + IntoFieldMut<TStr<__TS<(__2, __9)>>> + Array_16_24<T> + ?Sized,

Source§

impl<This, V, T> Array30Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__2, __6)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + ArrayVariant_16_24<T, V> + IntoVariantFieldMut<V, TStr<__TS<(__2, __7)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __4)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __8)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __9)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __5)>>> + ?Sized,

Source§

impl<This, T> Array31<T> for This
where This: IntoFieldMut<TStr<__TS<(__2, __4)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__2, __7)>>> + IntoFieldMut<TStr<__TS<(__2, __8)>>> + IntoFieldMut<TStr<__TS<(__2, __5)>>> + IntoFieldMut<TStr<__TS<(__2, __9)>>> + Array_16_24<T> + IntoFieldMut<TStr<__TS<(__3, __0)>>> + IntoFieldMut<TStr<__TS<(__2, __6)>>> + ?Sized,

Source§

impl<This, V, T> Array31Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__2, __6)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + ArrayVariant_16_24<T, V> + IntoVariantFieldMut<V, TStr<__TS<(__2, __7)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __4)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __8)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __9)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __5)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3, __0)>>> + ?Sized,

Source§

impl<This, T> Array32<T> for This
where This: IntoFieldMut<TStr<__TS<(__2, __7)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__2, __8)>>> + IntoFieldMut<TStr<__TS<(__2, __5)>>> + IntoFieldMut<TStr<__TS<(__2, __9)>>> + Array_16_24<T> + IntoFieldMut<TStr<__TS<(__3, __0)>>> + IntoFieldMut<TStr<__TS<(__2, __6)>>> + IntoFieldMut<TStr<__TS<(__3, __1)>>> + IntoFieldMut<TStr<__TS<(__2, __4)>>> + ?Sized,

Source§

impl<This, V, T> Array32Variant<T, V> for This
where This: ArrayVariant_16_24<T, V, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__2, __7)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __4)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __8)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __9)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __5)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3, __0)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3, __1)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2, __6)>>> + ?Sized,

Source§

impl<This, V, T> Array3Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__1,)>>, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__0,)>>> + ?Sized,

Source§

impl<This, T> Array4<T> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__2,)>>> + IntoFieldMut<TStr<__TS<(__3,)>>> + IntoFieldMut<TStr<__TS<(__1,)>>> + ?Sized,

Source§

impl<This, V, T> Array4Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__1,)>>, Ty = T, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__0,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>> + ?Sized,

Source§

impl<This, T> Array5<T> for This
where This: IntoFieldMut<TStr<__TS<(__2,)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__3,)>>> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__4,)>>> + IntoFieldMut<TStr<__TS<(__0,)>>> + ?Sized,

Source§

impl<This, V, T> Array5Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__2,)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__0,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__4,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + ?Sized,

Source§

impl<This, T> Array6<T> for This
where This: IntoFieldMut<TStr<__TS<(__3,)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__4,)>>> + IntoFieldMut<TStr<__TS<(__0,)>>> + IntoFieldMut<TStr<__TS<(__5,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>> + ?Sized,

Source§

impl<This, V, T> Array6Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__2,)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__0,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__4,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__5,)>>> + ?Sized,

Source§

impl<This, T> Array7<T> for This
where This: IntoFieldMut<TStr<__TS<(__3,)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__4,)>>> + IntoFieldMut<TStr<__TS<(__0,)>>> + IntoFieldMut<TStr<__TS<(__5,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>> + IntoFieldMut<TStr<__TS<(__6,)>>> + ?Sized,

Source§

impl<This, V, T> Array7Variant<T, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__4,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__5,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__6,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>> + ?Sized,

Source§

impl<This, T> Array8<T> for This
where This: Array_0_8<T> + ?Sized,

Source§

impl<This, V, T> Array8Variant<T, V> for This
where This: ArrayVariant_0_8<T, V> + ?Sized,

Source§

impl<This, T> Array9<T> for This
where This: Array_0_8<T, Ty = T> + IntoFieldMut<TStr<__TS<(__8,)>>> + ?Sized,

Source§

impl<This, V, T> Array9Variant<T, V> for This
where This: ArrayVariant_0_8<T, V, Ty = T> + IntoVariantFieldMut<V, TStr<__TS<(__8,)>>> + ?Sized,

Source§

impl<This, T> ArrayMove0<T> for This
where This: ?Sized,

Source§

impl<This, T> ArrayMove1<T> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = T> + ?Sized,

Source§

impl<This, T> ArrayMove10<T> for This
where This: IntoField<TStr<__TS<(__8,)>>, Ty = T, Ty = T> + IntoField<TStr<__TS<(__9,)>>> + ArrayMove_0_8<T> + ?Sized,

Source§

impl<This, T> ArrayMove11<T> for This
where This: IntoField<TStr<__TS<(__9,)>>, Ty = T, Ty = T, Ty = T> + ArrayMove_0_8<T> + IntoField<TStr<__TS<(__1, __0)>>> + IntoField<TStr<__TS<(__8,)>>> + ?Sized,

Source§

impl<This, T> ArrayMove12<T> for This
where This: IntoField<TStr<__TS<(__9,)>>, Ty = T, Ty = T, Ty = T, Ty = T> + ArrayMove_0_8<T> + IntoField<TStr<__TS<(__1, __0)>>> + IntoField<TStr<__TS<(__8,)>>> + IntoField<TStr<__TS<(__1, __1)>>> + ?Sized,

Source§

impl<This, T> ArrayMove13<T> for This
where This: ArrayMove_0_8<T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__1, __0)>>> + IntoField<TStr<__TS<(__8,)>>> + IntoField<TStr<__TS<(__1, __1)>>> + IntoField<TStr<__TS<(__1, __2)>>> + IntoField<TStr<__TS<(__9,)>>> + ?Sized,

Source§

impl<This, T> ArrayMove14<T> for This
where This: IntoField<TStr<__TS<(__1, __0)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__8,)>>> + IntoField<TStr<__TS<(__1, __1)>>> + IntoField<TStr<__TS<(__1, __2)>>> + IntoField<TStr<__TS<(__9,)>>> + IntoField<TStr<__TS<(__1, __3)>>> + ArrayMove_0_8<T> + ?Sized,

Source§

impl<This, T> ArrayMove15<T> for This
where This: IntoField<TStr<__TS<(__8,)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__1, __1)>>> + IntoField<TStr<__TS<(__1, __2)>>> + IntoField<TStr<__TS<(__9,)>>> + IntoField<TStr<__TS<(__1, __3)>>> + ArrayMove_0_8<T> + IntoField<TStr<__TS<(__1, __4)>>> + IntoField<TStr<__TS<(__1, __0)>>> + ?Sized,

Source§

impl<This, T> ArrayMove16<T> for This
where This: ArrayMove_8_16<T> + ?Sized,

Source§

impl<This, T> ArrayMove17<T> for This
where This: ArrayMove_8_16<T, Ty = T> + IntoField<TStr<__TS<(__1, __6)>>> + ?Sized,

Source§

impl<This, T> ArrayMove18<T> for This
where This: IntoField<TStr<__TS<(__1, __6)>>, Ty = T, Ty = T> + IntoField<TStr<__TS<(__1, __7)>>> + ArrayMove_8_16<T> + ?Sized,

Source§

impl<This, T> ArrayMove19<T> for This
where This: IntoField<TStr<__TS<(__1, __7)>>, Ty = T, Ty = T, Ty = T> + ArrayMove_8_16<T> + IntoField<TStr<__TS<(__1, __8)>>> + IntoField<TStr<__TS<(__1, __6)>>> + ?Sized,

Source§

impl<This, T> ArrayMove2<T> for This
where This: IntoField<TStr<__TS<(__1,)>>, Ty = T, Ty = T> + IntoField<TStr<__TS<(__0,)>>> + ?Sized,

Source§

impl<This, T> ArrayMove20<T> for This
where This: IntoField<TStr<__TS<(__1, __7)>>, Ty = T, Ty = T, Ty = T, Ty = T> + ArrayMove_8_16<T> + IntoField<TStr<__TS<(__1, __8)>>> + IntoField<TStr<__TS<(__1, __6)>>> + IntoField<TStr<__TS<(__1, __9)>>> + ?Sized,

Source§

impl<This, T> ArrayMove21<T> for This
where This: ArrayMove_8_16<T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__1, __8)>>> + IntoField<TStr<__TS<(__1, __6)>>> + IntoField<TStr<__TS<(__1, __9)>>> + IntoField<TStr<__TS<(__2, __0)>>> + IntoField<TStr<__TS<(__1, __7)>>> + ?Sized,

Source§

impl<This, T> ArrayMove22<T> for This
where This: IntoField<TStr<__TS<(__1, __8)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__1, __6)>>> + IntoField<TStr<__TS<(__1, __9)>>> + IntoField<TStr<__TS<(__2, __0)>>> + IntoField<TStr<__TS<(__1, __7)>>> + IntoField<TStr<__TS<(__2, __1)>>> + ArrayMove_8_16<T> + ?Sized,

Source§

impl<This, T> ArrayMove23<T> for This
where This: IntoField<TStr<__TS<(__1, __6)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__1, __9)>>> + IntoField<TStr<__TS<(__2, __0)>>> + IntoField<TStr<__TS<(__1, __7)>>> + IntoField<TStr<__TS<(__2, __1)>>> + ArrayMove_8_16<T> + IntoField<TStr<__TS<(__2, __2)>>> + IntoField<TStr<__TS<(__1, __8)>>> + ?Sized,

Source§

impl<This, T> ArrayMove24<T> for This
where This: ArrayMove_16_24<T> + ?Sized,

Source§

impl<This, T> ArrayMove25<T> for This
where This: ArrayMove_16_24<T, Ty = T> + IntoField<TStr<__TS<(__2, __4)>>> + ?Sized,

Source§

impl<This, T> ArrayMove26<T> for This
where This: IntoField<TStr<__TS<(__2, __4)>>, Ty = T, Ty = T> + IntoField<TStr<__TS<(__2, __5)>>> + ArrayMove_16_24<T> + ?Sized,

Source§

impl<This, T> ArrayMove27<T> for This
where This: IntoField<TStr<__TS<(__2, __5)>>, Ty = T, Ty = T, Ty = T> + ArrayMove_16_24<T> + IntoField<TStr<__TS<(__2, __6)>>> + IntoField<TStr<__TS<(__2, __4)>>> + ?Sized,

Source§

impl<This, T> ArrayMove28<T> for This
where This: IntoField<TStr<__TS<(__2, __5)>>, Ty = T, Ty = T, Ty = T, Ty = T> + ArrayMove_16_24<T> + IntoField<TStr<__TS<(__2, __6)>>> + IntoField<TStr<__TS<(__2, __4)>>> + IntoField<TStr<__TS<(__2, __7)>>> + ?Sized,

Source§

impl<This, T> ArrayMove29<T> for This
where This: ArrayMove_16_24<T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__2, __6)>>> + IntoField<TStr<__TS<(__2, __4)>>> + IntoField<TStr<__TS<(__2, __7)>>> + IntoField<TStr<__TS<(__2, __8)>>> + IntoField<TStr<__TS<(__2, __5)>>> + ?Sized,

Source§

impl<This, T> ArrayMove3<T> for This
where This: IntoField<TStr<__TS<(__1,)>>, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__0,)>>> + IntoField<TStr<__TS<(__2,)>>> + ?Sized,

Source§

impl<This, T> ArrayMove30<T> for This
where This: IntoField<TStr<__TS<(__2, __6)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__2, __4)>>> + IntoField<TStr<__TS<(__2, __7)>>> + IntoField<TStr<__TS<(__2, __8)>>> + IntoField<TStr<__TS<(__2, __5)>>> + IntoField<TStr<__TS<(__2, __9)>>> + ArrayMove_16_24<T> + ?Sized,

Source§

impl<This, T> ArrayMove31<T> for This
where This: IntoField<TStr<__TS<(__2, __4)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__2, __7)>>> + IntoField<TStr<__TS<(__2, __8)>>> + IntoField<TStr<__TS<(__2, __5)>>> + IntoField<TStr<__TS<(__2, __9)>>> + ArrayMove_16_24<T> + IntoField<TStr<__TS<(__3, __0)>>> + IntoField<TStr<__TS<(__2, __6)>>> + ?Sized,

Source§

impl<This, T> ArrayMove32<T> for This
where This: IntoField<TStr<__TS<(__2, __7)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__2, __8)>>> + IntoField<TStr<__TS<(__2, __5)>>> + IntoField<TStr<__TS<(__2, __9)>>> + ArrayMove_16_24<T> + IntoField<TStr<__TS<(__3, __0)>>> + IntoField<TStr<__TS<(__2, __6)>>> + IntoField<TStr<__TS<(__3, __1)>>> + IntoField<TStr<__TS<(__2, __4)>>> + ?Sized,

Source§

impl<This, T> ArrayMove4<T> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__2,)>>> + IntoField<TStr<__TS<(__3,)>>> + IntoField<TStr<__TS<(__1,)>>> + ?Sized,

Source§

impl<This, T> ArrayMove5<T> for This
where This: IntoField<TStr<__TS<(__2,)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__3,)>>> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__4,)>>> + IntoField<TStr<__TS<(__0,)>>> + ?Sized,

Source§

impl<This, T> ArrayMove6<T> for This
where This: IntoField<TStr<__TS<(__3,)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__4,)>>> + IntoField<TStr<__TS<(__0,)>>> + IntoField<TStr<__TS<(__5,)>>> + IntoField<TStr<__TS<(__2,)>>> + ?Sized,

Source§

impl<This, T> ArrayMove7<T> for This
where This: IntoField<TStr<__TS<(__3,)>>, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T, Ty = T> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__4,)>>> + IntoField<TStr<__TS<(__0,)>>> + IntoField<TStr<__TS<(__5,)>>> + IntoField<TStr<__TS<(__2,)>>> + IntoField<TStr<__TS<(__6,)>>> + ?Sized,

Source§

impl<This, T> ArrayMove8<T> for This
where This: ArrayMove_0_8<T> + ?Sized,

Source§

impl<This, T> ArrayMove9<T> for This
where This: ArrayMove_0_8<T, Ty = T> + IntoField<TStr<__TS<(__8,)>>> + ?Sized,

Source§

impl<This, F> IntoFieldMut<F> for This
where This: IntoField<F> + GetFieldMut<F> + ?Sized,

Source§

impl<This, V, F> IntoVariantFieldMut<V, F> for This
where This: GetVariantFieldMut<V, F> + IntoVariantField<V, F> + ?Sized,

Source§

impl<T, __This> OptionMove_ESI<T> for __This
where __This: OptionMove_SI<T> + VariantCount<Count = TStr<__TS<(__2,)>>> + ?Sized,

Source§

impl<T, __This> OptionMove_SI<T> for __This
where __This: IsVariant<TStr<__TS<(__S, __o, __m, __e)>>> + IntoVariantField<TStr<__TS<(__S, __o, __m, __e)>>, TStr<__TS<(__0,)>>, Ty = T> + IsVariant<TStr<__TS<(__N, __o, __n, __e)>>> + ?Sized,

Source§

impl<T, __This> Option_SI<T> for __This
where __This: IsVariant<TStr<__TS<(__S, __o, __m, __e)>>> + IntoVariantFieldMut<TStr<__TS<(__S, __o, __m, __e)>>, TStr<__TS<(__0,)>>, Ty = T> + IsVariant<TStr<__TS<(__N, __o, __n, __e)>>> + ?Sized,

Source§

impl<T, __This> RangeFrom_SI<T> for __This
where __This: IntoFieldMut<TStr<__TS<(__s, __t, __a, __r, __t)>>, Ty = T> + ?Sized,

Source§

impl<T, __This> RangeRef_SI<T> for __This
where __This: GetField<TStr<__TS<(__e, __n, __d)>>, Ty = T, Ty = T> + GetField<TStr<__TS<(__s, __t, __a, __r, __t)>>> + ?Sized,

Source§

impl<T, __This> RangeTo_SI<T> for __This
where __This: IntoFieldMut<TStr<__TS<(__e, __n, __d)>>, Ty = T> + ?Sized,

Source§

impl<T, __This> Range_SI<T> for __This
where __This: IntoFieldMut<TStr<__TS<(__e, __n, __d)>>, Ty = T, Ty = T> + IntoFieldMut<TStr<__TS<(__s, __t, __a, __r, __t)>>> + ?Sized,

Source§

impl<T, E, __This> ResultMove_ESI<T, E> for __This
where __This: ResultMove_SI<T, E> + VariantCount<Count = TStr<__TS<(__2,)>>> + ?Sized,

Source§

impl<T, E, __This> ResultMove_SI<T, E> for __This
where __This: IsVariant<TStr<__TS<(__O, __k)>>> + IntoVariantField<TStr<__TS<(__O, __k)>>, TStr<__TS<(__0,)>>, Ty = T, Ty = E> + IsVariant<TStr<__TS<(__E, __r, __r)>>> + IntoVariantField<TStr<__TS<(__E, __r, __r)>>, TStr<__TS<(__0,)>>> + ?Sized,

Source§

impl<T, E, __This> Result_ESI<T, E> for __This
where __This: Result_SI<T, E> + VariantCount<Count = TStr<__TS<(__2,)>>> + ?Sized,

Source§

impl<T, E, __This> Result_SI<T, E> for __This
where __This: IsVariant<TStr<__TS<(__O, __k)>>> + IntoVariantFieldMut<TStr<__TS<(__O, __k)>>, TStr<__TS<(__0,)>>, Ty = T, Ty = E> + IsVariant<TStr<__TS<(__E, __r, __r)>>> + IntoVariantFieldMut<TStr<__TS<(__E, __r, __r)>>, TStr<__TS<(__0,)>>> + ?Sized,

Source§

impl<C0, This> Tuple1<C0> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = C0>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, This> Tuple10<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7, Ty = C8, Ty = C9> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>> + IntoFieldMut<TStr<__TS<(__3,)>>> + IntoFieldMut<TStr<__TS<(__4,)>>> + IntoFieldMut<TStr<__TS<(__5,)>>> + IntoFieldMut<TStr<__TS<(__6,)>>> + IntoFieldMut<TStr<__TS<(__7,)>>> + IntoFieldMut<TStr<__TS<(__8,)>>> + IntoFieldMut<TStr<__TS<(__9,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, This, V> Tuple10Variant<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7, Ty = C8, Ty = C9> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__4,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__5,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__6,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__7,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__8,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__9,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, This> Tuple11<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7, Ty = C8, Ty = C9, Ty = C10> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>> + IntoFieldMut<TStr<__TS<(__3,)>>> + IntoFieldMut<TStr<__TS<(__4,)>>> + IntoFieldMut<TStr<__TS<(__5,)>>> + IntoFieldMut<TStr<__TS<(__6,)>>> + IntoFieldMut<TStr<__TS<(__7,)>>> + IntoFieldMut<TStr<__TS<(__8,)>>> + IntoFieldMut<TStr<__TS<(__9,)>>> + IntoFieldMut<TStr<__TS<(__1, __0)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, This, V> Tuple11Variant<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7, Ty = C8, Ty = C9, Ty = C10> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__4,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__5,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__6,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__7,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__8,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__9,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __0)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, This> Tuple12<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7, Ty = C8, Ty = C9, Ty = C10, Ty = C11> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>> + IntoFieldMut<TStr<__TS<(__3,)>>> + IntoFieldMut<TStr<__TS<(__4,)>>> + IntoFieldMut<TStr<__TS<(__5,)>>> + IntoFieldMut<TStr<__TS<(__6,)>>> + IntoFieldMut<TStr<__TS<(__7,)>>> + IntoFieldMut<TStr<__TS<(__8,)>>> + IntoFieldMut<TStr<__TS<(__9,)>>> + IntoFieldMut<TStr<__TS<(__1, __0)>>> + IntoFieldMut<TStr<__TS<(__1, __1)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, This, V> Tuple12Variant<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7, Ty = C8, Ty = C9, Ty = C10, Ty = C11> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__4,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__5,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__6,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__7,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__8,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__9,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __0)>>> + IntoVariantFieldMut<V, TStr<__TS<(__1, __1)>>>,

Source§

impl<C0, This, V> Tuple1Variant<C0, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = C0>,

Source§

impl<C0, C1, This> Tuple2<C0, C1> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1> + IntoFieldMut<TStr<__TS<(__1,)>>>,

Source§

impl<C0, C1, This, V> Tuple2Variant<C0, C1, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = C0, Ty = C1> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>>,

Source§

impl<C0, C1, C2, This> Tuple3<C0, C1, C2> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>>,

Source§

impl<C0, C1, C2, This, V> Tuple3Variant<C0, C1, C2, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>>,

Source§

impl<C0, C1, C2, C3, This> Tuple4<C0, C1, C2, C3> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>> + IntoFieldMut<TStr<__TS<(__3,)>>>,

Source§

impl<C0, C1, C2, C3, This, V> Tuple4Variant<C0, C1, C2, C3, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>>,

Source§

impl<C0, C1, C2, C3, C4, This> Tuple5<C0, C1, C2, C3, C4> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>> + IntoFieldMut<TStr<__TS<(__3,)>>> + IntoFieldMut<TStr<__TS<(__4,)>>>,

Source§

impl<C0, C1, C2, C3, C4, This, V> Tuple5Variant<C0, C1, C2, C3, C4, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__4,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, This> Tuple6<C0, C1, C2, C3, C4, C5> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>> + IntoFieldMut<TStr<__TS<(__3,)>>> + IntoFieldMut<TStr<__TS<(__4,)>>> + IntoFieldMut<TStr<__TS<(__5,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, This, V> Tuple6Variant<C0, C1, C2, C3, C4, C5, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__4,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__5,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, This> Tuple7<C0, C1, C2, C3, C4, C5, C6> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>> + IntoFieldMut<TStr<__TS<(__3,)>>> + IntoFieldMut<TStr<__TS<(__4,)>>> + IntoFieldMut<TStr<__TS<(__5,)>>> + IntoFieldMut<TStr<__TS<(__6,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, This, V> Tuple7Variant<C0, C1, C2, C3, C4, C5, C6, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__4,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__5,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__6,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, This> Tuple8<C0, C1, C2, C3, C4, C5, C6, C7> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>> + IntoFieldMut<TStr<__TS<(__3,)>>> + IntoFieldMut<TStr<__TS<(__4,)>>> + IntoFieldMut<TStr<__TS<(__5,)>>> + IntoFieldMut<TStr<__TS<(__6,)>>> + IntoFieldMut<TStr<__TS<(__7,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, This, V> Tuple8Variant<C0, C1, C2, C3, C4, C5, C6, C7, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__4,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__5,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__6,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__7,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, This> Tuple9<C0, C1, C2, C3, C4, C5, C6, C7, C8> for This
where This: IntoFieldMut<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7, Ty = C8> + IntoFieldMut<TStr<__TS<(__1,)>>> + IntoFieldMut<TStr<__TS<(__2,)>>> + IntoFieldMut<TStr<__TS<(__3,)>>> + IntoFieldMut<TStr<__TS<(__4,)>>> + IntoFieldMut<TStr<__TS<(__5,)>>> + IntoFieldMut<TStr<__TS<(__6,)>>> + IntoFieldMut<TStr<__TS<(__7,)>>> + IntoFieldMut<TStr<__TS<(__8,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, This, V> Tuple9Variant<C0, C1, C2, C3, C4, C5, C6, C7, C8, V> for This
where This: IntoVariantFieldMut<V, TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7, Ty = C8> + IntoVariantFieldMut<V, TStr<__TS<(__1,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__2,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__3,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__4,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__5,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__6,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__7,)>>> + IntoVariantFieldMut<V, TStr<__TS<(__8,)>>>,

Source§

impl<C0, This> TupleMove1<C0> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = C0>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, This> TupleMove10<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7, Ty = C8, Ty = C9> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__2,)>>> + IntoField<TStr<__TS<(__3,)>>> + IntoField<TStr<__TS<(__4,)>>> + IntoField<TStr<__TS<(__5,)>>> + IntoField<TStr<__TS<(__6,)>>> + IntoField<TStr<__TS<(__7,)>>> + IntoField<TStr<__TS<(__8,)>>> + IntoField<TStr<__TS<(__9,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, This> TupleMove11<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7, Ty = C8, Ty = C9, Ty = C10> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__2,)>>> + IntoField<TStr<__TS<(__3,)>>> + IntoField<TStr<__TS<(__4,)>>> + IntoField<TStr<__TS<(__5,)>>> + IntoField<TStr<__TS<(__6,)>>> + IntoField<TStr<__TS<(__7,)>>> + IntoField<TStr<__TS<(__8,)>>> + IntoField<TStr<__TS<(__9,)>>> + IntoField<TStr<__TS<(__1, __0)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, This> TupleMove12<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7, Ty = C8, Ty = C9, Ty = C10, Ty = C11> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__2,)>>> + IntoField<TStr<__TS<(__3,)>>> + IntoField<TStr<__TS<(__4,)>>> + IntoField<TStr<__TS<(__5,)>>> + IntoField<TStr<__TS<(__6,)>>> + IntoField<TStr<__TS<(__7,)>>> + IntoField<TStr<__TS<(__8,)>>> + IntoField<TStr<__TS<(__9,)>>> + IntoField<TStr<__TS<(__1, __0)>>> + IntoField<TStr<__TS<(__1, __1)>>>,

Source§

impl<C0, C1, This> TupleMove2<C0, C1> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1> + IntoField<TStr<__TS<(__1,)>>>,

Source§

impl<C0, C1, C2, This> TupleMove3<C0, C1, C2> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__2,)>>>,

Source§

impl<C0, C1, C2, C3, This> TupleMove4<C0, C1, C2, C3> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__2,)>>> + IntoField<TStr<__TS<(__3,)>>>,

Source§

impl<C0, C1, C2, C3, C4, This> TupleMove5<C0, C1, C2, C3, C4> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__2,)>>> + IntoField<TStr<__TS<(__3,)>>> + IntoField<TStr<__TS<(__4,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, This> TupleMove6<C0, C1, C2, C3, C4, C5> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__2,)>>> + IntoField<TStr<__TS<(__3,)>>> + IntoField<TStr<__TS<(__4,)>>> + IntoField<TStr<__TS<(__5,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, This> TupleMove7<C0, C1, C2, C3, C4, C5, C6> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__2,)>>> + IntoField<TStr<__TS<(__3,)>>> + IntoField<TStr<__TS<(__4,)>>> + IntoField<TStr<__TS<(__5,)>>> + IntoField<TStr<__TS<(__6,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, This> TupleMove8<C0, C1, C2, C3, C4, C5, C6, C7> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__2,)>>> + IntoField<TStr<__TS<(__3,)>>> + IntoField<TStr<__TS<(__4,)>>> + IntoField<TStr<__TS<(__5,)>>> + IntoField<TStr<__TS<(__6,)>>> + IntoField<TStr<__TS<(__7,)>>>,

Source§

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, This> TupleMove9<C0, C1, C2, C3, C4, C5, C6, C7, C8> for This
where This: IntoField<TStr<__TS<(__0,)>>, Ty = C0, Ty = C1, Ty = C2, Ty = C3, Ty = C4, Ty = C5, Ty = C6, Ty = C7, Ty = C8> + IntoField<TStr<__TS<(__1,)>>> + IntoField<TStr<__TS<(__2,)>>> + IntoField<TStr<__TS<(__3,)>>> + IntoField<TStr<__TS<(__4,)>>> + IntoField<TStr<__TS<(__5,)>>> + IntoField<TStr<__TS<(__6,)>>> + IntoField<TStr<__TS<(__7,)>>> + IntoField<TStr<__TS<(__8,)>>>,