Struct VariantName

Source
pub struct VariantName<V> {
    pub name: V,
}
Expand description

This allows accessing the V enum variant (by constructing a VariantProxy representing that variant).

This is the type that fp!(::Foo) constructs.
Note that fp!(::Foo.bar) constructs a VariantField instead.

The V type parameters is a TStr.

§Construction

You can construct this using (not an exhaustive list):

  • fp macro,with fp!(::Foo)

  • The VariantName{name} struct literal

  • The new constructor.

  • The NEW associated constant,if V implements core_extensions::ConstDefault (reexported in structural::reexports::ConstDefault)

§Example

use structural::{StructuralExt, fp, ts};
use structural::for_examples::Variants;
use structural::path::VariantName;

let mut foo=Variants::Foo(3,5);

{
    let proxy= foo.field_(fp!(::Foo)).unwrap();
    assert_eq!( proxy.field_(fp!(0)), &3 );
    assert_eq!( proxy.field_(fp!(1)), &5 );
}
assert_eq!( foo.field_(fp!(::Boom)), None );
 
{
    let proxy= foo.field_(VariantName::new(ts!(Foo))).unwrap();
    assert_eq!( proxy.field_(fp!(0)), &3 );
    assert_eq!( proxy.field_(fp!(1)), &5 );
}
assert_eq!( foo.field_(VariantName::new(ts!(Boom))), None );
 
 
{
    let proxy= foo.field_mut(fp!(::Foo)).unwrap();
    assert_eq!( proxy.field_mut(fp!(0)), &mut 3 );
    assert_eq!( proxy.field_mut(fp!(1)), &mut 5 );
}
assert_eq!( foo.field_mut(fp!(::Boom)), None );
 
{
    let proxy= foo.field_mut(VariantName::new(ts!(Foo))).unwrap();
    assert_eq!( proxy.field_mut(fp!(0)), &mut 3 );
    assert_eq!( proxy.field_mut(fp!(1)), &mut 5 );
}
assert_eq!( foo.field_mut(VariantName::new(ts!(Boom))), None );
 
 

Fields§

§name: V

The variant this accesses.

Implementations§

Source§

impl<V> VariantName<V>
where V: ConstDefault,

Source

pub const NEW: Self = Self::DEFAULT

Constructs a VariantName.

Source§

impl<V> VariantName<V>

Source

pub const fn into_path(self) -> NestedFieldPath<(Self,)>

Constructs a NestedFieldPath from this.

Source

pub const fn into_set(self) -> FieldPathSet<(Self,), UniquePaths>

Constructs a FieldPathSet from this.

Source§

impl<V> VariantName<V>

Source

pub fn new(name: V) -> Self

Constructs a VariantName from name.

name is expected to be a ::structural::path::TStr.

Trait Implementations§

Source§

impl<V: Clone> Clone for VariantName<V>

Source§

fn clone(&self) -> VariantName<V>

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<V> ConstDefault for VariantName<V>
where V: ConstDefault,

Source§

const DEFAULT: Self

The default value for Self.
Source§

impl<T> Debug for VariantName<T>

Source§

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

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

impl<V: Default> Default for VariantName<V>

Source§

fn default() -> VariantName<V>

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

impl<T> IsMultiFieldPath for VariantName<T>

Source§

type PathUniqueness = UniquePaths

Whether the paths in the set can contain duplicate paths. Read more
Source§

impl<T> Ord for VariantName<T>

Source§

fn cmp(&self, _other: &Self) -> 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 for VariantName<T>

Source§

fn eq(&self, _other: &Self) -> 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 for VariantName<T>

Source§

fn partial_cmp(&self, _other: &Self) -> 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<This, S> RevFieldErr<This> for VariantName<TStr<S>>
where This: ?Sized + IsVariant<TStr<S>>, S: 'static,

Source§

type Err = FailedAccess

The error returned by rev_* methods. Read more
Source§

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

Source§

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

The type of the field.
Source§

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

Source§

fn rev_get_field( self, this: &'a This, ) -> Result<&'a VariantProxy<This, TStr<S>>, FailedAccess>

Accesses the field that self represents inside of this,by reference.
Source§

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

Source§

fn rev_get_field_mut( self, this: &'a mut This, ) -> Result<&'a mut VariantProxy<This, TStr<S>>, FailedAccess>

Accesses the field that self represents inside of this,by mutable reference.
Source§

unsafe fn rev_get_field_raw_mut( self, this: *mut This, ) -> Result<*mut VariantProxy<This, TStr<S>>, FailedAccess>

Accesses the field that self represents inside of this,by raw pointer. Read more
Source§

impl<'a, This, T> RevGetMultiFieldImpl<'a, This> for VariantName<T>
where Self: RevGetFieldImpl<'a, This>, This: 'a + ?Sized, RGFT<Self, This>: 'a, Result<&'a RGFT<Self, This>, RGFE<Self, This>>: 'a + NormalizeFields,

Source§

type UnnormFields = (Result<&'a <VariantName<T> as RevFieldType<This>>::Ty, <VariantName<T> as RevFieldErr<This>>::Err>,)

A collection of Results<&'a _,_>s referencing fields.
Source§

fn rev_get_multi_field_impl( self, this: &'a This, ) -> (Result<&'a RGFT<Self, This>, RGFE<Self, This>>,)

Gets references to multiple fields from this.
Source§

impl<'a, This, T> RevGetMultiFieldMutImpl<'a, This> for VariantName<T>
where Self: RevGetFieldMutImpl<'a, This>, This: 'a + ?Sized, RGFT<Self, This>: 'a, Result<&'a mut RGFT<Self, This>, RGFE<Self, This>>: NormalizeFields, Result<*mut RGFT<Self, This>, RGFE<Self, This>>: NormalizeFields,

Source§

type UnnormFieldsMut = (Result<&'a mut <VariantName<T> as RevFieldType<This>>::Ty, <VariantName<T> as RevFieldErr<This>>::Err>,)

This is usually a tuple of Result<&mut _,E: IsFieldErr>s.
Source§

type UnnormFieldsRawMut = (Result<*mut <VariantName<T> as RevFieldType<This>>::Ty, <VariantName<T> as RevFieldErr<This>>::Err>,)

This is usually a tuple of Result<*mut _,E: IsFieldErr>s.
Source§

fn rev_get_multi_field_mut_impl( self, this: &'a mut This, ) -> (Result<&'a mut RGFT<Self, This>, RGFE<Self, This>>,)

Gets mutable references to multiple fields from this, usually a tuple of Result<&mut _,E: IsFieldErr>s.
Source§

unsafe fn rev_get_multi_field_raw_mut_impl( self, this: *mut This, ) -> (Result<*mut RGFT<Self, This>, RGFE<Self, This>>,)

Gets raw pointers to multiple fields from this, usually a tuple of Result<*mut _,E: IsFieldErr>s. Read more
Source§

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

Source§

fn rev_into_field( self, this: This, ) -> Result<VariantProxy<This, TStr<S>>, FailedAccess>
where This: Sized,

Accesses the field that self represents inside of this,by value.
Source§

impl<This, T> RevIntoMultiFieldImpl<This> for VariantName<T>
where Self: RevIntoFieldImpl<This>, RGFT<Self, This>: Sized, Result<RGFT<Self, This>, RGFE<Self, This>>: NormalizeFields,

Source§

type UnnormIntoFields = (Result<<VariantName<T> as RevFieldType<This>>::Ty, <VariantName<T> as RevFieldErr<This>>::Err>,)

This is usually a tuple of Result<_, E: IsFieldErr>s.
Source§

fn rev_into_multi_field_impl( self, this: This, ) -> (Result<RGFT<Self, This>, RGFE<Self, This>>,)

Converts this into multiple fields by value, usually a tuple of Result<_, E: IsFieldErr>s.
Source§

impl<V: Copy> Copy for VariantName<V>

Source§

impl<T> Eq for VariantName<T>

Source§

impl<V> IsSingleFieldPath for VariantName<V>

Auto Trait Implementations§

§

impl<V> Freeze for VariantName<V>
where V: Freeze,

§

impl<V> RefUnwindSafe for VariantName<V>
where V: RefUnwindSafe,

§

impl<V> Send for VariantName<V>
where V: Send,

§

impl<V> Sync for VariantName<V>
where V: Sync,

§

impl<V> Unpin for VariantName<V>
where V: Unpin,

§

impl<V> UnwindSafe for VariantName<V>
where V: 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<'a, This, Path> RevGetMultiField<'a, This> for Path
where This: 'a + ?Sized, Path: RevGetMultiFieldImpl<'a, This>,

Source§

type Fields = <<Path as RevGetMultiFieldImpl<'a, This>>::UnnormFields as NormalizeFields>::Output

This is usually a tuple of Option<&_>s and &_s.
Source§

fn rev_get_multi_field( self, this: &'a This, ) -> <Path as RevGetMultiField<'a, This>>::Fields

Gets references to multiple fields from this, usually a tuple of Option<&_>s and &_s.
Source§

impl<'a, This, Path> RevGetMultiFieldMut<'a, This> for Path
where This: 'a + ?Sized, Path: RevGetMultiFieldMutImpl<'a, This>,

Source§

type FieldsMut = <<Path as RevGetMultiFieldMutImpl<'a, This>>::UnnormFieldsMut as NormalizeFields>::Output

This is usually a tuple of Option<&mut _>s and &mut _s.
Source§

type FieldsRawMut = <<Path as RevGetMultiFieldMutImpl<'a, This>>::UnnormFieldsRawMut as NormalizeFields>::Output

This is usually a tuple of Option<*mut _>s and *mut _s.
Source§

fn rev_get_multi_field_mut( self, this: &'a mut This, ) -> <Path as RevGetMultiFieldMut<'a, This>>::FieldsMut

Gets mutable references to multiple fields from this, usually a tuple of Option<&mut _>s and &mut _s.
Source§

unsafe fn rev_get_multi_field_raw_mut( self, this: *mut This, ) -> <Path as RevGetMultiFieldMut<'a, This>>::FieldsRawMut

Gets raw pointers to multiple fields from this, usually a tuple of Option<*mut _>s and *mut _s. Read more
Source§

impl<This, Path> RevIntoMultiField<This> for Path
where Path: RevIntoMultiFieldImpl<This>,

Source§

type IntoFields = <<Path as RevIntoMultiFieldImpl<This>>::UnnormIntoFields as NormalizeFields>::Output

This is usually a tuple of Option<T>s and Ts.
Source§

fn rev_into_multi_field( self, this: This, ) -> <Path as RevIntoMultiField<This>>::IntoFields

Converts this into multiple fields by value. usually a tuple of Option<T>s and Ts.
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> ArrayMove0<T> for This
where This: ?Sized,

Source§

impl<'a, Path, This> OptRevGetField<'a, This> for Path
where Path: RevGetFieldImpl<'a, This, Err = FailedAccess>,

Source§

impl<'a, Path, This> OptRevGetFieldMut<'a, This> for Path
where Path: RevGetFieldMutImpl<'a, This, Err = FailedAccess>,

Source§

impl<Path, This> OptRevIntoField<This> for Path
where Path: RevIntoFieldImpl<This, Err = FailedAccess>,

Source§

impl<'a, Path, This> OptRevIntoFieldMut<'a, This> for Path
where Path: OptRevIntoField<This> + OptRevGetFieldMut<'a, This>,

Source§

impl<'a, Path, This> OptRevIntoFieldRef<'a, This> for Path
where Path: OptRevIntoField<This> + OptRevGetFieldMut<'a, This>,