[][src]Struct structural::StrucWrapper

#[repr(transparent)]pub struct StrucWrapper<T>(pub T);

A wrapper-type alternative to StructuralExt, with methods for accessing fields in structural types.

Example: Struct

use structural::{StrucWrapper, Structural, fp};
use structural::field::Array3;

let mut this=Point{x:3, y:5, z:8};
let mut tuple=(13,21,34);

rotate_tuple(&mut this);
rotate_tuple(&mut tuple);

assert_eq!( this, Point{x:8, y:3, z:5} );
assert_eq!( tuple, (34,13,21) );

fn rotate_tuple(tuple: &mut dyn Array3<u32>){
    use std::mem::swap;

    let mut tuple=StrucWrapper(tuple);
    let (a,b,c)=tuple.muts(fp!(0,1,2));
    swap(b,c);
    swap(a,b);
}

#[derive(Debug,Structural,PartialEq)]
struct Point{
    #[struc(rename="0")]
    pub x: u32,
    #[struc(rename="1")]
    pub y: u32,
    #[struc(rename="2")]
    pub z: u32,
}

Example: Enum

use structural::{StrucWrapper, Structural, fp};

assert_eq!( get_value(States::Initial), 1 );
assert_eq!( get_value(States::Open{how_much: 10}), 160+2 );
assert_eq!( get_value(States::Closed), 3 );

assert_eq!( get_value(UberStates::Initial), 1 );
assert_eq!( get_value(UberStates::Open{how_much: 10, throughput: 14}), 160+2 );
assert_eq!( get_value(UberStates::Open{how_much: 20, throughput: 55}), 320+2 );
assert_eq!( get_value(UberStates::Closed), 3 );

// `States_SI` was declared by the `Structural` derive macro on
// the `States` enum,aliasing its accessor trait impls.
fn get_value(this: impl States_SI)-> u64 {
    let this=StrucWrapper(this);

    if this.is_variant(fp!(Initial)) {
        1
    }else if let Some(how_much)= this.r(fp!(::Open.how_much)) {
        2 + ((*how_much as u64) << 4)
    }else if this.is_variant(fp!(Closed)) {
        3
    }else{
        0
    }
}

// This function is equivalent to `get_value`
//
// `States_SI` was declared by the `Structural` derive macro on
// the `States` enum,aliasing its accessor trait impls.
fn get_value_switch(this: impl States_SI)-> u64 {
    structural::switch!{ref this;
        Initial=>1,
        Open{&how_much}=>2 + ((how_much as u64) << 4),
        Closed=>3,
        _=>0,
    }
}

#[derive(Structural)]
enum States{
    Initial,
    Open{how_much: u32},
    Closed,
}

#[derive(Structural)]
enum UberStates{
    Initial,
    Open{
        how_much: u32,
        throughput: u64,
    },
    Closed,
}

Methods

impl<T> StrucWrapper<T>[src]

pub fn r<'a, P>(
    &'a self,
    path: P
) -> NormalizeFieldsOut<Result<&'a P::Ty, P::Err>> where
    P: RevGetFieldImpl<'a, T>,
    Result<&'a P::Ty, P::Err>: NormalizeFields
[src]

Gets a reference to a single field,determined by path.

This function is equivalent to StructuralExt::field_, which has more complete examples.

Example: Struct

use structural::{StrucWrapper, fp};
use structural::field::Array5;

assertions((0,0,13,0,34));
assertions((0,0,13,0,34,""));
assertions((0,0,13,0,34,"",false));

assertions([0,0,13,0,34]);
assertions([0,0,13,0,34,0]);
assertions([0,0,13,0,34,0,0]);

fn assertions(this: impl Array5<u64>){
    let mut this=StrucWrapper(this);

    assert_eq!( this.r(fp!(2)), &13  );
    assert_eq!( this.r(fp!(4)), &34 );
}

Example: Enum

use structural::{StrucWrapper, fp};
use structural::for_examples::{
    EnumWithNewtype, EnumWithoutNewtype, EnumWithNewtype_SI, RefWrapper,
};

assertions(EnumWithNewtype::U32(RefWrapper(0x100, &43370)));

assertions(EnumWithoutNewtype::U32(0x100, &43370));

// `EnumWithNewtype_SI` was declared by the `Structural` derive macro on
// the `EnumWithNewtype` enum,aliasing its accessor trait impls.
fn assertions<'a>(this: impl EnumWithNewtype_SI<'a>){
    let mut this=StrucWrapper(this);

    assert_eq!( this.r(fp!(::U32.0)), Some(&0x100) );
    assert_eq!( this.r(fp!(::U32.1)), Some(&&43370) );
    assert_eq!( this.r(fp!(::U64.0)), None );
}

pub fn m<'a, P>(
    &'a mut self,
    path: P
) -> NormalizeFieldsOut<Result<&'a mut P::Ty, P::Err>> where
    P: RevGetFieldMutImpl<'a, T>,
    Result<&'a mut P::Ty, P::Err>: NormalizeFields
[src]

Gets a mutable reference to a single field,determined by path.

This function is equivalent to StructuralExt::field_mut, which has more complete examples.

Example: Struct

use structural::{StrucWrapper, Structural, fp, make_struct};

assertions(Puck{name:"John", surname:"Chickenbert"});

assertions(make_struct!{
    #![derive(Debug,Copy,Clone)]
    name:"John",
    surname:"Chickenbert"
});

// `Puck_SI` was declared by the `Structural` derive macro on the Puck struct,
// aliasing its accessor trait impls.
fn assertions(this: impl Puck_SI + Copy){
    let mut this=StrucWrapper(this);

    assert_eq!( this.m(fp!(name)), &mut "John" );
    assert_eq!( this.m(fp!(surname)), &mut "Chickenbert" );
}

#[derive(Structural,Copy,Clone)]
pub struct Puck{
    pub name: &'static str,
    pub surname: &'static str,
}

Example: Enum

use structural::{StrucWrapper, fp};
use structural::for_examples::{
    EnumWithNewtype, EnumWithoutNewtype, EnumWithNewtype_SI, RefWrapper,
};

assertions(EnumWithNewtype::U32(RefWrapper(0x100, &43370)));

assertions(EnumWithoutNewtype::U32(0x100, &43370));

// `EnumWithNewtype_SI` was declared by the `Structural` derive macro on
// the `EnumWithNewtype` enum,aliasing its accessor trait impls.
fn assertions<'a>(this: impl EnumWithNewtype_SI<'a>){
    let mut this=StrucWrapper(this);

    assert_eq!( this.m(fp!(::U32.0)), Some(&mut 0x100) );
    assert_eq!( this.m(fp!(::U32.1)), Some(&mut &43370) );
    assert_eq!( this.m(fp!(::U64.0)), None );
}

pub fn v<'a, P>(self, path: P) -> NormalizeFieldsOut<Result<P::Ty, P::Err>> where
    P: RevIntoFieldImpl<'a, T>,
    P::Ty: Sized,
    Result<P::Ty, P::Err>: NormalizeFields
[src]

Converts this into a single field by value,determined by path.

This function is equivalent to StructuralExt::into_field, which has more complete examples.

Example: Struct

use structural::{StrucWrapper, Structural, fp, make_struct};

assertions(Puck{name:"John", surname:"Chickenbert"});

assertions(make_struct!{
    #![derive(Debug,Copy,Clone)]
    name:"John",
    surname:"Chickenbert"
});

// `Puck_SI` was declared by the `Structural` derive macro on the Puck struct,
// aliasing its accessor trait impls.
fn assertions(this: impl Puck_SI + Copy){
    let this=StrucWrapper(this);

    assert_eq!( this.v(fp!(name)), "John" );
    assert_eq!( this.v(fp!(surname)), "Chickenbert" );
}

#[derive(Structural,Copy,Clone)]
pub struct Puck{
    pub name: &'static str,
    pub surname: &'static str,
}

Example: Enum

use structural::{StrucWrapper, fp};
use structural::for_examples::{WithBoom, WithBoom_SI, Bomb};

assertions(WithBoom::Boom{a:"#eh#", b:&[5,8,13]});
assertions(    Bomb::Boom{a:"#eh#", b:&[5,8,13]});

// `WithBoom_SI` was declared by the `Structural` derive macro on the `WithBoom` enum,
// aliasing its accessor trait impls.
fn assertions(this: impl WithBoom_SI + Copy){
    let this=StrucWrapper(this);

    assert_eq!( this.v(fp!(::Boom.a)), Some("#eh#") );
    assert_eq!( this.v(fp!(::Boom.b)), Some(&[5,8,13][..]) );
    assert!( this.v(fp!(::Nope)).is_none() );
}

pub fn refs<'a, P>(&'a self, path: P) -> RevGetMultiFieldOut<'a, P, T> where
    P: RevGetMultiField<'a, T>, 
[src]

Gets references to multiple fields,determined by path.

This function is equivalent to StructuralExt::fields, which has more complete examples.

Example: Struct

use structural::{StrucWrapper, fp, make_struct};
use structural::for_examples::{Struct2, Struct2_SI, Struct3};

assertions(Struct2{foo:Some("&"), bar:(true,false)});
assertions(Struct3{foo:Some("&"), bar:(true,false), baz:&[()]});
assertions(make_struct!{foo:Some("&"), bar:(true,false), boom:()});

// `Struct2_SI` was declared by the `Structural` derive macro on the Struct2 struct,
// aliasing its accessor trait impls.
fn assertions(this: impl Struct2_SI<&'static str, (bool,bool)>){
    let this=StrucWrapper(this);

    assert_eq!( this.refs(fp!(foo,bar)), (&Some("&"), &(true,false)) );
}

Example: Enum

use structural::{StrucWrapper, fp};
use structural::for_examples::{WithBoom, WithBoom_SI, Bomb};

assertions(WithBoom::Boom{a:"#eh#", b:&[5,8,13]});
assertions(    Bomb::Boom{a:"#eh#", b:&[5,8,13]});

// `WithBoom_SI` was declared by the `Structural` derive macro on the `WithBoom` enum,
// aliasing its accessor trait impls.
fn assertions(this: impl WithBoom_SI){
    let this=StrucWrapper(this);

    assert_eq!( this.refs(fp!(::Boom=>a,b)), Some((&"#eh#", &&[5,8,13][..])) );
    assert!( this.refs(fp!(::Nope=>)).is_none() );
}

pub fn clones<'a, P>(
    &'a self,
    path: P
) -> ClonedOut<RevGetMultiFieldOut<'a, P, T>> where
    P: RevGetMultiField<'a, T>,
    RevGetMultiFieldOut<'a, P, T>: Cloned
[src]

Gets clones of multiple fields,determined by path.

This function is equivalent to StructuralExt::cloned_fields, which has more complete examples.

Example: Struct

use structural::{StrucWrapper, fp, make_struct};
use structural::for_examples::{Struct2, Struct2_SI, Struct3};

assertions(Struct2{foo:Some("&"), bar:(true,false)});
assertions(Struct3{foo:Some("&"), bar:(true,false), baz:&[()]});
assertions(make_struct!{foo:Some("&"), bar:(true,false), boom:()});

fn assertions(this: impl Struct2_SI<&'static str, (bool,bool)>){
    let this=StrucWrapper(this);

    assert_eq!( this.clones(fp!(foo,bar)), (Some("&"), (true,false)) );
}

Example: Enum

use structural::{StrucWrapper, fp};
use structural::for_examples::{Enum2, Enum2_SI, Enum3, Enum4};

use std::cmp::Ordering;

assertions(Enum2::Bar(Ordering::Less, Some(1337)));
assertions(Enum3::Bar(Ordering::Less, Some(1337)));
assertions(Enum4::Bar(Ordering::Less, Some(1337)));

fn assertions(this: impl Enum2_SI){
    let this=StrucWrapper(this);

    assert_eq!( this.clones(fp!(::Bar=>0,1)), Some((Ordering::Less, Some(1337))) );
    assert_eq!( this.clones(fp!(::Foo=>0,1)), None );
}

pub fn muts<'a, P>(&'a mut self, path: P) -> RevGetMultiFieldMutOut<'a, P, T> where
    P: RevGetMultiFieldMut<'a, T>, 
[src]

Gets mutable references to multiple fields,determined by path.

This function is equivalent to StructuralExt::fields_mut, which has more complete examples.

Example: Struct

use structural::{StrucWrapper, fp};
use structural::field::Array5;

assertions((0,0,8,0,21));
assertions((0,0,8,0,21,""));
assertions((0,0,8,0,21,"",false));

assertions([0,0,8,0,21]);
assertions([0,0,8,0,21,0]);
assertions([0,0,8,0,21,0,0]);

fn assertions(this: impl Array5<u64>){
    let mut this=StrucWrapper(this);

    assert_eq!( this.muts(fp!(2,4)), (&mut 8, &mut 21) );
}

Example: Enum

use structural::{StrucWrapper, fp};
use structural::for_examples::{Enum2, Enum2_SI, Enum3, Enum4};

assertions(Enum2::Foo(27, 81));
assertions(Enum3::Foo(27, 81));
assertions(Enum4::Foo(27, 81));

fn assertions(this: impl Enum2_SI){
    let mut this=StrucWrapper(this);

    assert_eq!( this.muts(fp!(::Foo=>0,1)), Some((&mut 27, &mut 81)) );
    assert_eq!( this.muts(fp!(::Bar=>0)), None );
}

pub fn is_variant<P>(&self, _path: P) -> bool where
    P: IsTStr,
    T: IsVariant<P>, 
[src]

Queries whether an enum is a particular variant.

This function is equivalent to StructuralExt::is_variant.

Example

use structural::{StrucWrapper, Structural, fp};

assertions(
    EnumOne::Bar,
    EnumOne::Baz{x:0, y:100},
    EnumOne::Qux("hello", "world"),
);

assertions(EnumTwo::Bar, EnumTwo::Baz, EnumTwo::Qux);

fn assertions<T>(bar: T, baz: T, qux: T)
where
    T: EnumTwo_SI
{
    let bar=StrucWrapper(bar);
    let baz=StrucWrapper(baz);
    let qux=StrucWrapper(qux);

    assert!( bar.is_variant(fp!(Bar)) );
    assert!( baz.is_variant(fp!(Baz)) );
    assert!( qux.is_variant(fp!(Qux)) );
}

#[derive(Structural)]
enum EnumOne{
    Bar,
    Baz{
        x:u32,
        y:u32,
    },
    Qux(&'static str, &'static str),
}

#[derive(Structural)]
enum EnumTwo{
    Bar,
    Baz,
    Qux,
}

impl<T> StrucWrapper<T>[src]

pub fn as_ref(&self) -> StrucWrapper<&T>[src]

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

Example

use structural::{Structural, StrucWrapper, fp, make_struct};

{
    let this= StrucWrapper(Struct3{foo:Some(13), bar:21, baz:"34"});
    with_struct3(this.as_ref());
    // Because of the `.as_ref()`,`this` wasn't consumed
    with_struct3(this.as_ref());
}
{
    let this= StrucWrapper(make_struct!{foo:Some(13), bar:21, baz:"34", quax:false});
    with_struct3(this.as_ref());
    // Because of the `.as_ref()`,`this` wasn't consumed
    with_struct3(this.as_ref());
}

// The `Struct3_SI` trait was declared for Struct3 by the Structural derive macro,
// aliasing its accessor trait impls
//
// Also, notice how this also requires `Copy`,even though Struct3 doesn't implement it?
// The call with Struct3 works because of the `.as_ref()`,
// since `&` always implements `Copy`.
fn with_struct3(this: StrucWrapper<impl Struct3_SI<u8, u16, &'static str> + Copy>){
    assert_eq!( this.r(fp!(foo?)), Some(&13) );
    assert_eq!( this.r(fp!(bar)), &21 );
    assert_eq!( this.r(fp!(baz)), &"34" );
}
     
#[derive(Structural, Debug)]
// With this attribute, you can only access fields by shared reference.
#[struc(access="ref")]
pub struct Struct3<A, B, C> {
    pub foo: Option<A>,
    pub bar: B,
    pub baz: C,
}

pub fn as_mut(&mut self) -> StrucWrapper<&mut T>[src]

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

Example

use structural::{Structural, StrucWrapper, fp, make_struct};

{
    let mut this= StrucWrapper(Struct3{foo:Some(13), bar:21, baz:"34"});
    with_struct3(this.as_mut());
    // Because of the `.as_mut()`,`this` wasn't consumed
    with_struct3(this.as_mut());
}
{
    let mut this= StrucWrapper(make_struct!{foo:Some(13), bar:21, baz:"34", quax:false});
    with_struct3(this.as_mut());
    // Because of the `.as_mut()`,`this` wasn't consumed
    with_struct3(this.as_mut());
}

// The `Struct3_SI` trait was declared for Struct3 by the Structural derive macro,
// aliasing its accessor trait impls
fn with_struct3(mut this: StrucWrapper<impl Struct3_SI<u8, u16, &'static str>>){
    assert_eq!( this.r(fp!(foo?)), Some(&13) );
    assert_eq!( this.r(fp!(bar)), &21 );
    assert_eq!( this.r(fp!(baz)), &"34" );

    assert_eq!( this.m(fp!(foo?)), Some(&mut 13) );
    assert_eq!( this.m(fp!(bar)), &mut 21 );
    assert_eq!( this.m(fp!(baz)), &mut "34" );
}
     
#[derive(Structural, Debug)]
// With this attribute, you can only access fields by shared or mutable reference.
#[struc(access="mut")]
pub struct Struct3<A, B, C> {
    pub foo: Option<A>,
    pub bar: B,
    pub baz: C,
}

pub fn map<F, U>(self, f: F) -> StrucWrapper<U> where
    F: FnOnce(T) -> U, 
[src]

Transforms the wrapped value with the func function.

pub fn then<F, U>(self, f: F) -> StrucWrapper<U> where
    F: FnOnce(Self) -> U, 
[src]

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

impl<'a, T> StrucWrapper<&'a T>[src]

pub fn reref(self) -> &'a StrucWrapper<T>[src]

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

Note that this only works if T: Sized, which means that you can't call this method on a StrucWrapper<&dyn Trait>.

impl<'a, T> StrucWrapper<&'a mut T>[src]

pub fn remut(self) -> &'a mut StrucWrapper<T>[src]

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

Note that this only works if T: Sized, which means that you can't call this method on a StrucWrapper<&mut dyn Trait>.

Trait Implementations

impl<T: Clone> Clone for StrucWrapper<T>[src]

impl<T> ConstDefault for StrucWrapper<T> where
    T: ConstDefault
[src]

impl<T: Copy> Copy for StrucWrapper<T>[src]

impl<T: Debug> Debug for StrucWrapper<T>[src]

impl<T: Default> Default for StrucWrapper<T>[src]

impl<T: Eq> Eq for StrucWrapper<T>[src]

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

type Ty = GetFieldType<T, NP>

The type of the FieldPath field.

impl<T, __F, __Ty> GetField<__F> for StrucWrapper<T> where
    T: GetField<__F, Ty = __Ty>, 
[src]

impl<T, __F, __Ty> GetFieldMut<__F> for StrucWrapper<T> where
    StrucWrapper<T>: Sized,
    T: GetFieldMut<__F, Ty = __Ty>, 
[src]

impl<T, __V, __F, __Ty> GetVariantField<TStr<__V>, __F> for StrucWrapper<T> where
    T: GetVariantField<TStr<__V>, __F, Ty = __Ty>, 
[src]

impl<T, __V, __F, __Ty> GetVariantFieldMut<TStr<__V>, __F> for StrucWrapper<T> where
    StrucWrapper<T>: Sized,
    T: GetVariantFieldMut<TStr<__V>, __F, Ty = __Ty>, 
[src]

impl<T: Hash> Hash for StrucWrapper<T>[src]

impl<F, T> Index<F> for StrucWrapper<T> where
    T: GetField<F>, 
[src]

Gets a reference to a non-nested struct field

Example

use structural::{StrucWrapper, fp};
use structural::field::Array4;

assertions(["hello","world","foo","bar"]);
assertions(["hello","world","foo","bar","baz"]);

assertions(("hello","world","foo","bar"));
assertions(("hello","world","foo","bar","baz"));
assertions(("hello","world","foo","bar","baz","qux"));

fn assertions(this: impl Array4<&'static str> ){
    let this=StrucWrapper(this);

    assert_eq!( this[fp!(1)], "world" );
    assert_eq!( this[fp!(2)], "foo" );
    assert_eq!( this[fp!(3)], "bar" );
}

type Output = T::Ty

The returned type after indexing.

impl<F, T> IndexMut<F> for StrucWrapper<T> where
    T: GetFieldMut<F>, 
[src]

Gets a mutable reference to a non-nested struct field

Example

use structural::{StructuralExt, StrucWrapper, fp, make_struct};
use structural::for_examples::{Struct3, Struct3_SI};

let mut this=Struct3{ foo:Some(33), bar:55, baz:77 };
let mut anon=make_struct!{ foo:Some(0), bar:0, baz:0, extra:"extra" };

fn mutator(this:&mut impl Struct3_SI<u32,u32,u32>){
    let mut this=StrucWrapper(this);
     
    this[fp!(bar)]+=20;
    this[fp!(baz)]+=30;
}

mutator(&mut this);
mutator(&mut anon);

assert_eq!( this.cloned_fields(fp!(foo, bar, baz)), (Some(33), 75, 107) );
assert_eq!( anon.cloned_fields(fp!(foo, bar, baz, extra)), (Some(0), 20, 30, "extra") );

impl<T, __F, __Ty> IntoField<__F> for StrucWrapper<T> where
    T: Sized + IntoField<__F, Ty = __Ty>, 
[src]

impl<T, __V, __F, __Ty> IntoVariantField<TStr<__V>, __F> for StrucWrapper<T> where
    T: Sized + IntoVariantField<TStr<__V>, __F, Ty = __Ty>, 
[src]

impl<T, __V> IsVariant<TStr<__V>> for StrucWrapper<T> where
    T: IsVariant<TStr<__V>>, 
[src]

impl<T: Ord> Ord for StrucWrapper<T>[src]

impl<T: PartialEq> PartialEq<StrucWrapper<T>> for StrucWrapper<T>[src]

impl<T: PartialOrd> PartialOrd<StrucWrapper<T>> for StrucWrapper<T>[src]

impl<T> Structural for StrucWrapper<T> where
    T: Structural
[src]

impl<T> StructuralEq for StrucWrapper<T>[src]

impl<T> StructuralPartialEq for StrucWrapper<T>[src]

impl<T> VariantCount for StrucWrapper<T> where
    T: VariantCount
[src]

type Count = VariantCountOut<T>

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

Auto Trait Implementations

impl<T> RefUnwindSafe for StrucWrapper<T> where
    T: RefUnwindSafe

impl<T> Send for StrucWrapper<T> where
    T: Send

impl<T> Sync for StrucWrapper<T> where
    T: Sync

impl<T> Unpin for StrucWrapper<T> where
    T: Unpin

impl<T> UnwindSafe for StrucWrapper<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

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

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

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

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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

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

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

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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

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

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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

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

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

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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

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

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

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

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

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

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

impl<T> SelfOps for T where
    T: ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The error type returned when the conversion fails.

impl<T> TypeIdentity for T where
    T: ?Sized
[src]

type Type = T

The same type as Self. Read more