pub enum ReflectMut<'a> {
Struct(&'a mut (dyn Struct + 'static)),
TupleStruct(&'a mut (dyn TupleStruct + 'static)),
Tuple(&'a mut (dyn Tuple + 'static)),
List(&'a mut (dyn List + 'static)),
Array(&'a mut (dyn Array + 'static)),
Map(&'a mut (dyn Map + 'static)),
Set(&'a mut (dyn Set + 'static)),
Enum(&'a mut (dyn Enum + 'static)),
Opaque(&'a mut (dyn PartialReflect + 'static)),
}
Expand description
A mutable enumeration of “kinds” of a reflected type.
Each variant contains a trait object with methods specific to a kind of type.
A ReflectMut
is obtained via PartialReflect::reflect_mut
.
Variants§
Struct(&'a mut (dyn Struct + 'static))
TupleStruct(&'a mut (dyn TupleStruct + 'static))
Tuple(&'a mut (dyn Tuple + 'static))
List(&'a mut (dyn List + 'static))
Array(&'a mut (dyn Array + 'static))
Map(&'a mut (dyn Map + 'static))
Set(&'a mut (dyn Set + 'static))
Enum(&'a mut (dyn Enum + 'static))
Opaque(&'a mut (dyn PartialReflect + 'static))
Implementations§
source§impl ReflectMut<'_>
impl ReflectMut<'_>
sourcepub fn kind(&self) -> ReflectKind
pub fn kind(&self) -> ReflectKind
Returns the “kind” of this reflected type without any information.
source§impl<'a> ReflectMut<'a>
impl<'a> ReflectMut<'a>
sourcepub fn as_struct(
self,
) -> Result<&'a mut (dyn Struct + 'static), ReflectKindMismatchError>
pub fn as_struct( self, ) -> Result<&'a mut (dyn Struct + 'static), ReflectKindMismatchError>
Attempts a cast to a Struct
trait object.
Returns an error if self
is not the Self::Struct
variant.
sourcepub fn as_tuple_struct(
self,
) -> Result<&'a mut (dyn TupleStruct + 'static), ReflectKindMismatchError>
pub fn as_tuple_struct( self, ) -> Result<&'a mut (dyn TupleStruct + 'static), ReflectKindMismatchError>
Attempts a cast to a TupleStruct
trait object.
Returns an error if self
is not the Self::TupleStruct
variant.
sourcepub fn as_tuple(
self,
) -> Result<&'a mut (dyn Tuple + 'static), ReflectKindMismatchError>
pub fn as_tuple( self, ) -> Result<&'a mut (dyn Tuple + 'static), ReflectKindMismatchError>
Attempts a cast to a Tuple
trait object.
Returns an error if self
is not the Self::Tuple
variant.
sourcepub fn as_list(
self,
) -> Result<&'a mut (dyn List + 'static), ReflectKindMismatchError>
pub fn as_list( self, ) -> Result<&'a mut (dyn List + 'static), ReflectKindMismatchError>
Attempts a cast to a List
trait object.
Returns an error if self
is not the Self::List
variant.
sourcepub fn as_array(
self,
) -> Result<&'a mut (dyn Array + 'static), ReflectKindMismatchError>
pub fn as_array( self, ) -> Result<&'a mut (dyn Array + 'static), ReflectKindMismatchError>
Attempts a cast to a Array
trait object.
Returns an error if self
is not the Self::Array
variant.
sourcepub fn as_map(
self,
) -> Result<&'a mut (dyn Map + 'static), ReflectKindMismatchError>
pub fn as_map( self, ) -> Result<&'a mut (dyn Map + 'static), ReflectKindMismatchError>
sourcepub fn as_set(
self,
) -> Result<&'a mut (dyn Set + 'static), ReflectKindMismatchError>
pub fn as_set( self, ) -> Result<&'a mut (dyn Set + 'static), ReflectKindMismatchError>
sourcepub fn as_enum(
self,
) -> Result<&'a mut (dyn Enum + 'static), ReflectKindMismatchError>
pub fn as_enum( self, ) -> Result<&'a mut (dyn Enum + 'static), ReflectKindMismatchError>
Attempts a cast to a Enum
trait object.
Returns an error if self
is not the Self::Enum
variant.
sourcepub fn as_opaque(
self,
) -> Result<&'a mut (dyn PartialReflect + 'static), ReflectKindMismatchError>
pub fn as_opaque( self, ) -> Result<&'a mut (dyn PartialReflect + 'static), ReflectKindMismatchError>
Attempts a cast to a PartialReflect
trait object.
Returns an error if self
is not the Self::Opaque
variant.
Trait Implementations§
source§impl From<ReflectMut<'_>> for ReflectKind
impl From<ReflectMut<'_>> for ReflectKind
source§fn from(value: ReflectMut<'_>) -> ReflectKind
fn from(value: ReflectMut<'_>) -> ReflectKind
Auto Trait Implementations§
impl<'a> Freeze for ReflectMut<'a>
impl<'a> !RefUnwindSafe for ReflectMut<'a>
impl<'a> Send for ReflectMut<'a>
impl<'a> Sync for ReflectMut<'a>
impl<'a> Unpin for ReflectMut<'a>
impl<'a> !UnwindSafe for ReflectMut<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more