[][src]Trait structural::field_traits::GetFieldMut

pub unsafe trait GetFieldMut<FieldName>: GetField<FieldName> {
    fn get_field_mut_(&mut self) -> &mut Self::Ty;
unsafe fn get_field_raw_mut(
        ptr: *mut (),
        _: PhantomData<FieldName>
    ) -> *mut Self::Ty
    where
        Self: Sized
;
fn get_field_raw_mut_func(&self) -> GetFieldMutRefFn<FieldName, Self::Ty>; }

Allows accessing the FieldName field mutably.

Safety

These are requirements for manual implementations.

It is recommended that you use the z_unsafe_impl_get_field_raw_mut_method macro if you only borrow a field of the type.

Your implementation of GetFieldMut::get_field_raw_mut must ensure these properties:

  • It must be side-effect free,

  • The field you borrow must always be the same one.

  • That no implementation of GetFieldMut::get_field_raw_mut returns a pointer to a field that other ones also return,

Your implementation of the get_field_raw_mut_func method must only return a function pointer for the GetFieldMut::get_field_raw_mut method from the same implementation of the GetFieldMut trait.

Usage as Bound Example

This example demonstrates how you can use this trait as a bound.

If you have a lot of field accessor bounds you could use structural_alias macro to alias those bounds and use that alias instead.

use structural::{GetFieldMut,GetFieldExt,FP,fp};
 
fn take_value<T,V>(this:&mut T)->V
where
    // `FP!(v a l u e)` can be written as `FP!(value)` from 1.40 onwards
    T:GetFieldMut<FP!(v a l u e), Ty=V>,
    V:Default,
{
    std::mem::replace( this.field_mut(fp!(value)), Default::default() )
}

#[derive(structural::Structural)]
struct Huh<T>{
    #[struc(access="mut")]
    value:T,
}
 
fn main(){
    let mut this=Huh{value:"Hello, World!"};
    assert_eq!(take_value(&mut this),"Hello, World!");
    assert_eq!(this.value,"");
}

Manual Implementation Example

While this trait is intended to be implemented using the Structural derive macro, you can manually implement it like this:

use structural::{
    GetField,GetFieldMut,Structural,FP,TList,
    structural_trait::{FieldInfo},
    mut_ref::MutRef,
    z_impl_structural_dyn,
};

struct Huh<T>{
    value:T,
}

impl<T> Structural for Huh<T>{
    const FIELDS:&'static[FieldInfo]=&[FieldInfo::not_renamed("value")];

}

z_impl_structural_dyn!{ impl[T] Huh<T> }

// `FP!(v a l u e)` can be written as `FP!(value)` from 1.40 onwards
impl<T> GetField<FP!(v a l u e)> for Huh<T>{
    type Ty=T;

    fn get_field_(&self)->&Self::Ty{
        &self.value
    }
}

// `FP!(v a l u e)` can be written as `FP!(value)` from 1.40 onwards
unsafe impl<T> GetFieldMut<FP!(v a l u e)> for Huh<T>{
    fn get_field_mut_(&mut self)->&mut Self::Ty{
        &mut self.value
    }
    structural::z_unsafe_impl_get_field_raw_mut_method!{
        Self,
        field_name=value,
        name_generic=FP!(v a l u e)
    }
}

Required methods

fn get_field_mut_(&mut self) -> &mut Self::Ty

Accesses the FieldName field by mutable reference.

unsafe fn get_field_raw_mut(
    ptr: *mut (),
    _: PhantomData<FieldName>
) -> *mut Self::Ty where
    Self: Sized

Gets a mutable pointer for the field.

Safety

You must pass a pointer casted from *mut Self to *mut ().

fn get_field_raw_mut_func(&self) -> GetFieldMutRefFn<FieldName, Self::Ty>

Gets the get_field_raw_mut associated function as a function pointer.

Loading content...

Implementations on Foreign Types

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<C0> GetFieldMut<FieldPath<(TString<(_0,)>,)>> for (C0,)[src]

impl<C0, C1> GetFieldMut<FieldPath<(TString<(_0,)>,)>> for (C0, C1)[src]

impl<C0, C1> GetFieldMut<FieldPath<(TString<(_1,)>,)>> for (C0, C1)[src]

impl<C0, C1, C2> GetFieldMut<FieldPath<(TString<(_0,)>,)>> for (C0, C1, C2)[src]

impl<C0, C1, C2> GetFieldMut<FieldPath<(TString<(_1,)>,)>> for (C0, C1, C2)[src]

impl<C0, C1, C2> GetFieldMut<FieldPath<(TString<(_2,)>,)>> for (C0, C1, C2)[src]

impl<C0, C1, C2, C3> GetFieldMut<FieldPath<(TString<(_0,)>,)>> for (C0, C1, C2, C3)[src]

impl<C0, C1, C2, C3> GetFieldMut<FieldPath<(TString<(_1,)>,)>> for (C0, C1, C2, C3)[src]

impl<C0, C1, C2, C3> GetFieldMut<FieldPath<(TString<(_2,)>,)>> for (C0, C1, C2, C3)[src]

impl<C0, C1, C2, C3> GetFieldMut<FieldPath<(TString<(_3,)>,)>> for (C0, C1, C2, C3)[src]

impl<C0, C1, C2, C3, C4> GetFieldMut<FieldPath<(TString<(_0,)>,)>> for (C0, C1, C2, C3, C4)[src]

impl<C0, C1, C2, C3, C4> GetFieldMut<FieldPath<(TString<(_1,)>,)>> for (C0, C1, C2, C3, C4)[src]

impl<C0, C1, C2, C3, C4> GetFieldMut<FieldPath<(TString<(_2,)>,)>> for (C0, C1, C2, C3, C4)[src]

impl<C0, C1, C2, C3, C4> GetFieldMut<FieldPath<(TString<(_3,)>,)>> for (C0, C1, C2, C3, C4)[src]

impl<C0, C1, C2, C3, C4> GetFieldMut<FieldPath<(TString<(_4,)>,)>> for (C0, C1, C2, C3, C4)[src]

impl<C0, C1, C2, C3, C4, C5> GetFieldMut<FieldPath<(TString<(_0,)>,)>> for (C0, C1, C2, C3, C4, C5)[src]

impl<C0, C1, C2, C3, C4, C5> GetFieldMut<FieldPath<(TString<(_1,)>,)>> for (C0, C1, C2, C3, C4, C5)[src]

impl<C0, C1, C2, C3, C4, C5> GetFieldMut<FieldPath<(TString<(_2,)>,)>> for (C0, C1, C2, C3, C4, C5)[src]

impl<C0, C1, C2, C3, C4, C5> GetFieldMut<FieldPath<(TString<(_3,)>,)>> for (C0, C1, C2, C3, C4, C5)[src]

impl<C0, C1, C2, C3, C4, C5> GetFieldMut<FieldPath<(TString<(_4,)>,)>> for (C0, C1, C2, C3, C4, C5)[src]

impl<C0, C1, C2, C3, C4, C5> GetFieldMut<FieldPath<(TString<(_5,)>,)>> for (C0, C1, C2, C3, C4, C5)[src]

impl<C0, C1, C2, C3, C4, C5, C6> GetFieldMut<FieldPath<(TString<(_0,)>,)>> for (C0, C1, C2, C3, C4, C5, C6)[src]

impl<C0, C1, C2, C3, C4, C5, C6> GetFieldMut<FieldPath<(TString<(_1,)>,)>> for (C0, C1, C2, C3, C4, C5, C6)[src]

impl<C0, C1, C2, C3, C4, C5, C6> GetFieldMut<FieldPath<(TString<(_2,)>,)>> for (C0, C1, C2, C3, C4, C5, C6)[src]

impl<C0, C1, C2, C3, C4, C5, C6> GetFieldMut<FieldPath<(TString<(_3,)>,)>> for (C0, C1, C2, C3, C4, C5, C6)[src]

impl<C0, C1, C2, C3, C4, C5, C6> GetFieldMut<FieldPath<(TString<(_4,)>,)>> for (C0, C1, C2, C3, C4, C5, C6)[src]

impl<C0, C1, C2, C3, C4, C5, C6> GetFieldMut<FieldPath<(TString<(_5,)>,)>> for (C0, C1, C2, C3, C4, C5, C6)[src]

impl<C0, C1, C2, C3, C4, C5, C6> GetFieldMut<FieldPath<(TString<(_6,)>,)>> for (C0, C1, C2, C3, C4, C5, C6)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7> GetFieldMut<FieldPath<(TString<(_0,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7> GetFieldMut<FieldPath<(TString<(_1,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7> GetFieldMut<FieldPath<(TString<(_2,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7> GetFieldMut<FieldPath<(TString<(_3,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7> GetFieldMut<FieldPath<(TString<(_4,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7> GetFieldMut<FieldPath<(TString<(_5,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7> GetFieldMut<FieldPath<(TString<(_6,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7> GetFieldMut<FieldPath<(TString<(_7,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8> GetFieldMut<FieldPath<(TString<(_0,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8> GetFieldMut<FieldPath<(TString<(_1,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8> GetFieldMut<FieldPath<(TString<(_2,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8> GetFieldMut<FieldPath<(TString<(_3,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8> GetFieldMut<FieldPath<(TString<(_4,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8> GetFieldMut<FieldPath<(TString<(_5,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8> GetFieldMut<FieldPath<(TString<(_6,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8> GetFieldMut<FieldPath<(TString<(_7,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8> GetFieldMut<FieldPath<(TString<(_8,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> GetFieldMut<FieldPath<(TString<(_0,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> GetFieldMut<FieldPath<(TString<(_1,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> GetFieldMut<FieldPath<(TString<(_2,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> GetFieldMut<FieldPath<(TString<(_3,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> GetFieldMut<FieldPath<(TString<(_4,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> GetFieldMut<FieldPath<(TString<(_5,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> GetFieldMut<FieldPath<(TString<(_6,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> GetFieldMut<FieldPath<(TString<(_7,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> GetFieldMut<FieldPath<(TString<(_8,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> GetFieldMut<FieldPath<(TString<(_9,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> GetFieldMut<FieldPath<(TString<(_0,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> GetFieldMut<FieldPath<(TString<(_1,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> GetFieldMut<FieldPath<(TString<(_2,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> GetFieldMut<FieldPath<(TString<(_3,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> GetFieldMut<FieldPath<(TString<(_4,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> GetFieldMut<FieldPath<(TString<(_5,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> GetFieldMut<FieldPath<(TString<(_6,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> GetFieldMut<FieldPath<(TString<(_7,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> GetFieldMut<FieldPath<(TString<(_8,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> GetFieldMut<FieldPath<(TString<(_9,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> GetFieldMut<FieldPath<(TString<(_1, _0)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> GetFieldMut<FieldPath<(TString<(_0,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> GetFieldMut<FieldPath<(TString<(_1,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> GetFieldMut<FieldPath<(TString<(_2,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> GetFieldMut<FieldPath<(TString<(_3,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> GetFieldMut<FieldPath<(TString<(_4,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> GetFieldMut<FieldPath<(TString<(_5,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> GetFieldMut<FieldPath<(TString<(_6,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> GetFieldMut<FieldPath<(TString<(_7,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> GetFieldMut<FieldPath<(TString<(_8,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> GetFieldMut<FieldPath<(TString<(_9,)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> GetFieldMut<FieldPath<(TString<(_1, _0)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)[src]

impl<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> GetFieldMut<FieldPath<(TString<(_1, _1)>,)>> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)[src]

impl<T> GetFieldMut<FieldPath<(TString<(_s, _t, _a, _r, _t)>,)>> for Range<T>[src]

impl<T> GetFieldMut<FieldPath<(TString<(_e, _n, _d)>,)>> for Range<T>[src]

impl<T> GetFieldMut<FieldPath<(TString<(_s, _t, _a, _r, _t)>,)>> for RangeFrom<T>[src]

impl<T> GetFieldMut<FieldPath<(TString<(_e, _n, _d)>,)>> for RangeTo<T>[src]

impl<T> GetFieldMut<FieldPath<(TString<(_e, _n, _d)>,)>> for RangeToInclusive<T>[src]

impl<T, __FieldName> GetFieldMut<__FieldName> for ManuallyDrop<T> where
    T: GetFieldMut<__FieldName>, 
[src]

impl<'_, T: ?Sized, __FieldName> GetFieldMut<__FieldName> for &'_ mut T where
    T: GetFieldMut<__FieldName>, 
[src]

impl<T: ?Sized, FieldName, Ty> GetFieldMut<FieldName> for Box<T> where
    T: GetFieldMut<FieldName, Ty = Ty>, 
[src]

fn get_field_mut_(&mut self) -> &mut Self::Ty[src]

Accesses the FieldName field by mutable reference.

Loading content...

Implementors

Loading content...