pub struct EntityWorldMut<'w> { /* private fields */ }
Expand description
A mutable reference to a particular Entity
, and the entire world.
This is essentially a performance-optimized (Entity, &mut World)
tuple,
which caches the EntityLocation
to reduce duplicate lookups.
Since this type provides mutable access to the entire world, only one
EntityWorldMut
can exist at a time for a given world.
See also EntityMut
, which allows disjoint mutable access to multiple
entities at once. Unlike EntityMut
, this type allows adding and
removing components, and despawning the entity.
Implementations§
source§impl<'w> EntityWorldMut<'w>
impl<'w> EntityWorldMut<'w>
sourcepub fn location(&self) -> EntityLocation
pub fn location(&self) -> EntityLocation
Gets metadata indicating the location where the current entity is stored.
sourcepub fn archetype(&self) -> &Archetype
pub fn archetype(&self) -> &Archetype
Returns the archetype that the current entity belongs to.
sourcepub fn contains<T>(&self) -> boolwhere
T: Component,
pub fn contains<T>(&self) -> boolwhere
T: Component,
Returns true
if the current entity has a component of type T
.
Otherwise, this returns false
.
§Notes
If you do not know the concrete type of a component, consider using
Self::contains_id
or Self::contains_type_id
.
sourcepub fn contains_id(&self, component_id: ComponentId) -> bool
pub fn contains_id(&self, component_id: ComponentId) -> bool
Returns true
if the current entity has a component identified by component_id
.
Otherwise, this returns false.
§Notes
- If you know the concrete type of the component, you should prefer
Self::contains
. - If you know the component’s
TypeId
but not itsComponentId
, consider usingSelf::contains_type_id
.
sourcepub fn contains_type_id(&self, type_id: TypeId) -> bool
pub fn contains_type_id(&self, type_id: TypeId) -> bool
Returns true
if the current entity has a component with the type identified by type_id
.
Otherwise, this returns false.
§Notes
- If you know the concrete type of the component, you should prefer
Self::contains
. - If you have a
ComponentId
instead of aTypeId
, consider usingSelf::contains_id
.
sourcepub fn get<T>(&self) -> Option<&T>where
T: Component,
pub fn get<T>(&self) -> Option<&T>where
T: Component,
Gets access to the component of type T
for the current entity.
Returns None
if the entity does not have a component of type T
.
sourcepub fn components<Q>(&self) -> <Q as WorldQuery>::Item<'_>where
Q: ReadOnlyQueryData,
pub fn components<Q>(&self) -> <Q as WorldQuery>::Item<'_>where
Q: ReadOnlyQueryData,
Returns read-only components for the current entity that match the query Q
.
§Panics
If the entity does not have the components required by the query Q
.
sourcepub fn get_components<Q>(&self) -> Option<<Q as WorldQuery>::Item<'_>>where
Q: ReadOnlyQueryData,
pub fn get_components<Q>(&self) -> Option<<Q as WorldQuery>::Item<'_>>where
Q: ReadOnlyQueryData,
Returns read-only components for the current entity that match the query Q
,
or None
if the entity does not have the components required by the query Q
.
sourcepub fn into_borrow<T>(self) -> Option<&'w T>where
T: Component,
pub fn into_borrow<T>(self) -> Option<&'w T>where
T: Component,
Consumes self
and gets access to the component of type T
with
the world 'w
lifetime for the current entity.
Returns None
if the entity does not have a component of type T
.
sourcepub fn get_ref<T>(&self) -> Option<Ref<'_, T>>where
T: Component,
pub fn get_ref<T>(&self) -> Option<Ref<'_, T>>where
T: Component,
Gets access to the component of type T
for the current entity,
including change detection information as a Ref
.
Returns None
if the entity does not have a component of type T
.
sourcepub fn into_ref<T>(self) -> Option<Ref<'w, T>>where
T: Component,
pub fn into_ref<T>(self) -> Option<Ref<'w, T>>where
T: Component,
Consumes self
and gets access to the component of type T
with the world 'w
lifetime for the current entity,
including change detection information as a Ref
.
Returns None
if the entity does not have a component of type T
.
sourcepub fn get_mut<T>(&mut self) -> Option<Mut<'_, T>>where
T: Component,
pub fn get_mut<T>(&mut self) -> Option<Mut<'_, T>>where
T: Component,
Gets mutable access to the component of type T
for the current entity.
Returns None
if the entity does not have a component of type T
.
sourcepub fn into_mut<T>(self) -> Option<Mut<'w, T>>where
T: Component,
pub fn into_mut<T>(self) -> Option<Mut<'w, T>>where
T: Component,
Consumes self
and gets mutable access to the component of type T
with the world 'w
lifetime for the current entity.
Returns None
if the entity does not have a component of type T
.
sourcepub fn get_change_ticks<T>(&self) -> Option<ComponentTicks>where
T: Component,
pub fn get_change_ticks<T>(&self) -> Option<ComponentTicks>where
T: Component,
Retrieves the change ticks for the given component. This can be useful for implementing change detection in custom runtimes.
sourcepub fn get_change_ticks_by_id(
&self,
component_id: ComponentId,
) -> Option<ComponentTicks>
pub fn get_change_ticks_by_id( &self, component_id: ComponentId, ) -> Option<ComponentTicks>
Retrieves the change ticks for the given ComponentId
. This can be useful for implementing change
detection in custom runtimes.
You should prefer to use the typed API EntityWorldMut::get_change_ticks
where possible and only
use this in cases where the actual component types are not known at
compile time.
sourcepub fn get_by_id<F>(
&self,
component_ids: F,
) -> Result<<F as DynamicComponentFetch>::Ref<'_>, EntityComponentError>where
F: DynamicComponentFetch,
pub fn get_by_id<F>(
&self,
component_ids: F,
) -> Result<<F as DynamicComponentFetch>::Ref<'_>, EntityComponentError>where
F: DynamicComponentFetch,
Returns untyped read-only reference(s) to component(s) for the
current entity, based on the given ComponentId
s.
You should prefer to use the typed API EntityWorldMut::get
where
possible and only use this in cases where the actual component types
are not known at compile time.
Unlike EntityWorldMut::get
, this returns untyped reference(s) to
component(s), and it’s the job of the caller to ensure the correct
type(s) are dereferenced (if necessary).
§Errors
Returns EntityComponentError::MissingComponent
if the entity does
not have a component.
§Examples
For examples on how to use this method, see EntityRef::get_by_id
.
sourcepub fn into_borrow_by_id<F>(
self,
component_ids: F,
) -> Result<<F as DynamicComponentFetch>::Ref<'w>, EntityComponentError>where
F: DynamicComponentFetch,
pub fn into_borrow_by_id<F>(
self,
component_ids: F,
) -> Result<<F as DynamicComponentFetch>::Ref<'w>, EntityComponentError>where
F: DynamicComponentFetch,
Consumes self
and returns untyped read-only reference(s) to
component(s) with lifetime 'w
for the current entity, based on the
given ComponentId
s.
You should prefer to use the typed API EntityWorldMut::into_borrow
where possible and only use this in cases where the actual component
types are not known at compile time.
Unlike EntityWorldMut::into_borrow
, this returns untyped reference(s) to
component(s), and it’s the job of the caller to ensure the correct
type(s) are dereferenced (if necessary).
§Errors
Returns EntityComponentError::MissingComponent
if the entity does
not have a component.
§Examples
For examples on how to use this method, see EntityRef::get_by_id
.
sourcepub fn get_mut_by_id<F>(
&mut self,
component_ids: F,
) -> Result<<F as DynamicComponentFetch>::Mut<'_>, EntityComponentError>where
F: DynamicComponentFetch,
pub fn get_mut_by_id<F>(
&mut self,
component_ids: F,
) -> Result<<F as DynamicComponentFetch>::Mut<'_>, EntityComponentError>where
F: DynamicComponentFetch,
Returns untyped mutable reference(s) to component(s) for
the current entity, based on the given ComponentId
s.
You should prefer to use the typed API EntityWorldMut::get_mut
where
possible and only use this in cases where the actual component types
are not known at compile time.
Unlike EntityWorldMut::get_mut
, this returns untyped reference(s) to
component(s), and it’s the job of the caller to ensure the correct
type(s) are dereferenced (if necessary).
§Errors
- Returns
EntityComponentError::MissingComponent
if the entity does not have a component. - Returns
EntityComponentError::AliasedMutability
if a component is requested multiple times.
§Examples
For examples on how to use this method, see EntityMut::get_mut_by_id
.
sourcepub fn into_mut_by_id<F>(
self,
component_ids: F,
) -> Result<<F as DynamicComponentFetch>::Mut<'w>, EntityComponentError>where
F: DynamicComponentFetch,
pub fn into_mut_by_id<F>(
self,
component_ids: F,
) -> Result<<F as DynamicComponentFetch>::Mut<'w>, EntityComponentError>where
F: DynamicComponentFetch,
Consumes self
and returns untyped mutable reference(s)
to component(s) with lifetime 'w
for the current entity, based on the
given ComponentId
s.
You should prefer to use the typed API EntityWorldMut::into_mut
where
possible and only use this in cases where the actual component types
are not known at compile time.
Unlike EntityWorldMut::into_mut
, this returns untyped reference(s) to
component(s), and it’s the job of the caller to ensure the correct
type(s) are dereferenced (if necessary).
§Errors
- Returns
EntityComponentError::MissingComponent
if the entity does not have a component. - Returns
EntityComponentError::AliasedMutability
if a component is requested multiple times.
§Examples
For examples on how to use this method, see EntityMut::get_mut_by_id
.
sourcepub fn insert<T>(&mut self, bundle: T) -> &mut EntityWorldMut<'w>where
T: Bundle,
pub fn insert<T>(&mut self, bundle: T) -> &mut EntityWorldMut<'w>where
T: Bundle,
Adds a Bundle
of components to the entity.
This will overwrite any previous value(s) of the same component type.
sourcepub fn insert_if_new<T>(&mut self, bundle: T) -> &mut EntityWorldMut<'w>where
T: Bundle,
pub fn insert_if_new<T>(&mut self, bundle: T) -> &mut EntityWorldMut<'w>where
T: Bundle,
Adds a Bundle
of components to the entity without overwriting.
This will leave any previous value(s) of the same component type unchanged.
sourcepub unsafe fn insert_by_id(
&mut self,
component_id: ComponentId,
component: OwningPtr<'_>,
) -> &mut EntityWorldMut<'w>
pub unsafe fn insert_by_id( &mut self, component_id: ComponentId, component: OwningPtr<'_>, ) -> &mut EntityWorldMut<'w>
Inserts a dynamic Component
into the entity.
This will overwrite any previous value(s) of the same component type.
You should prefer to use the typed API EntityWorldMut::insert
where possible.
§Safety
ComponentId
must be from the same world asEntityWorldMut
OwningPtr
must be a valid reference to the type represented byComponentId
sourcepub unsafe fn insert_by_ids<'a, I>(
&mut self,
component_ids: &[ComponentId],
iter_components: I,
) -> &mut EntityWorldMut<'w>
pub unsafe fn insert_by_ids<'a, I>( &mut self, component_ids: &[ComponentId], iter_components: I, ) -> &mut EntityWorldMut<'w>
Inserts a dynamic Bundle
into the entity.
This will overwrite any previous value(s) of the same component type.
You should prefer to use the typed API EntityWorldMut::insert
where possible.
If your Bundle
only has one component, use the cached API EntityWorldMut::insert_by_id
.
If possible, pass a sorted slice of ComponentId
to maximize caching potential.
§Safety
- Each
ComponentId
must be from the same world asEntityWorldMut
- Each
OwningPtr
must be a valid reference to the type represented byComponentId
sourcepub fn take<T>(&mut self) -> Option<T>where
T: Bundle,
pub fn take<T>(&mut self) -> Option<T>where
T: Bundle,
Removes all components in the Bundle
from the entity and returns their previous values.
Note: If the entity does not have every component in the bundle, this method will not remove any of them.
sourcepub fn remove<T>(&mut self) -> &mut EntityWorldMut<'w>where
T: Bundle,
pub fn remove<T>(&mut self) -> &mut EntityWorldMut<'w>where
T: Bundle,
Removes any components in the Bundle
from the entity.
See EntityCommands::remove
for more details.
sourcepub fn remove_with_requires<T>(&mut self) -> &mut EntityWorldMut<'w>where
T: Bundle,
pub fn remove_with_requires<T>(&mut self) -> &mut EntityWorldMut<'w>where
T: Bundle,
Removes all components in the Bundle
and remove all required components for each component in the bundle
sourcepub fn retain<T>(&mut self) -> &mut EntityWorldMut<'w>where
T: Bundle,
pub fn retain<T>(&mut self) -> &mut EntityWorldMut<'w>where
T: Bundle,
Removes any components except those in the Bundle
(and its Required Components) from the entity.
See EntityCommands::retain
for more details.
sourcepub fn remove_by_id(
&mut self,
component_id: ComponentId,
) -> &mut EntityWorldMut<'w>
pub fn remove_by_id( &mut self, component_id: ComponentId, ) -> &mut EntityWorldMut<'w>
Removes a dynamic Component
from the entity if it exists.
You should prefer to use the typed API EntityWorldMut::remove
where possible.
§Panics
Panics if the provided ComponentId
does not exist in the World
.
sourcepub fn clear(&mut self) -> &mut EntityWorldMut<'w>
pub fn clear(&mut self) -> &mut EntityWorldMut<'w>
Removes all components associated with the entity.
sourcepub fn despawn(self)
pub fn despawn(self)
Despawns the current entity.
See World::despawn
for more details.
sourcepub fn flush(self) -> Entity
pub fn flush(self) -> Entity
Ensures any commands triggered by the actions of Self are applied, equivalent to World::flush
sourcepub fn world(&self) -> &World
pub fn world(&self) -> &World
Gets read-only access to the world that the current entity belongs to.
sourcepub unsafe fn world_mut(&mut self) -> &mut World
pub unsafe fn world_mut(&mut self) -> &mut World
Returns this entity’s world.
See EntityWorldMut::world_scope
or EntityWorldMut::into_world_mut
for a safe alternative.
§Safety
Caller must not modify the world in a way that changes the current entity’s location
If the caller does do something that could change the location, self.update_location()
must be called before using any other methods on this EntityWorldMut
.
sourcepub fn into_world_mut(self) -> &'w mut World
pub fn into_world_mut(self) -> &'w mut World
Returns this entity’s World
, consuming itself.
sourcepub fn world_scope<U>(&mut self, f: impl FnOnce(&mut World) -> U) -> U
pub fn world_scope<U>(&mut self, f: impl FnOnce(&mut World) -> U) -> U
Gives mutable access to this entity’s World
in a temporary scope.
This is a safe alternative to using EntityWorldMut::world_mut
.
§Examples
#[derive(Resource, Default, Clone, Copy)]
struct R(u32);
// This closure gives us temporary access to the world.
let new_r = entity.world_scope(|world: &mut World| {
// Mutate the world while we have access to it.
let mut r = world.resource_mut::<R>();
r.0 += 1;
// Return a value from the world before giving it back to the `EntityWorldMut`.
*r
});
sourcepub fn update_location(&mut self)
pub fn update_location(&mut self)
Updates the internal entity location to match the current location in the internal
World
.
This is only required when using the unsafe function EntityWorldMut::world_mut
,
which enables the location to change.
sourcepub fn entry<'a, T>(&'a mut self) -> Entry<'w, 'a, T>where
T: Component,
pub fn entry<'a, T>(&'a mut self) -> Entry<'w, 'a, T>where
T: Component,
Gets an Entry into the world for this entity and component for in-place manipulation.
The type parameter specifies which component to get.
§Examples
#[derive(Component, Default, Clone, Copy, Debug, PartialEq)]
struct Comp(u32);
let mut entity = world.spawn_empty();
entity.entry().or_insert_with(|| Comp(4));
assert_eq!(world.query::<&Comp>().single(&world).0, 4);
entity.entry::<Comp>().and_modify(|mut c| c.0 += 1);
assert_eq!(world.query::<&Comp>().single(&world).0, 5);
sourcepub fn trigger(&mut self, event: impl Event) -> &mut EntityWorldMut<'w>
pub fn trigger(&mut self, event: impl Event) -> &mut EntityWorldMut<'w>
Triggers the given event
for this entity, which will run any observers watching for it.
sourcepub fn observe<E, B, M>(
&mut self,
observer: impl IntoObserverSystem<E, B, M>,
) -> &mut EntityWorldMut<'w>
pub fn observe<E, B, M>( &mut self, observer: impl IntoObserverSystem<E, B, M>, ) -> &mut EntityWorldMut<'w>
Creates an Observer
listening for events of type E
targeting this entity.
In order to trigger the callback the entity must also match the query when the event is fired.
Trait Implementations§
source§impl BuildChildren for EntityWorldMut<'_>
impl BuildChildren for EntityWorldMut<'_>
source§type Builder<'a> = WorldChildBuilder<'a>
type Builder<'a> = WorldChildBuilder<'a>
source§fn with_children(
&mut self,
spawn_children: impl FnOnce(&mut WorldChildBuilder<'_>),
) -> &mut EntityWorldMut<'_>
fn with_children( &mut self, spawn_children: impl FnOnce(&mut WorldChildBuilder<'_>), ) -> &mut EntityWorldMut<'_>
ChildBuild
. Read moresource§fn with_child<B>(&mut self, bundle: B) -> &mut EntityWorldMut<'_>where
B: Bundle,
fn with_child<B>(&mut self, bundle: B) -> &mut EntityWorldMut<'_>where
B: Bundle,
source§fn add_child(&mut self, child: Entity) -> &mut EntityWorldMut<'_>
fn add_child(&mut self, child: Entity) -> &mut EntityWorldMut<'_>
source§fn add_children(&mut self, children: &[Entity]) -> &mut EntityWorldMut<'_>
fn add_children(&mut self, children: &[Entity]) -> &mut EntityWorldMut<'_>
source§fn insert_children(
&mut self,
index: usize,
children: &[Entity],
) -> &mut EntityWorldMut<'_>
fn insert_children( &mut self, index: usize, children: &[Entity], ) -> &mut EntityWorldMut<'_>
source§fn remove_children(&mut self, children: &[Entity]) -> &mut EntityWorldMut<'_>
fn remove_children(&mut self, children: &[Entity]) -> &mut EntityWorldMut<'_>
source§fn set_parent(&mut self, parent: Entity) -> &mut EntityWorldMut<'_>
fn set_parent(&mut self, parent: Entity) -> &mut EntityWorldMut<'_>
source§fn remove_parent(&mut self) -> &mut EntityWorldMut<'_>
fn remove_parent(&mut self) -> &mut EntityWorldMut<'_>
source§fn clear_children(&mut self) -> &mut EntityWorldMut<'_>
fn clear_children(&mut self) -> &mut EntityWorldMut<'_>
Children
component will be removed if it exists, otherwise this does nothing.source§fn replace_children(&mut self, children: &[Entity]) -> &mut EntityWorldMut<'_>
fn replace_children(&mut self, children: &[Entity]) -> &mut EntityWorldMut<'_>
source§impl BuildChildrenTransformExt for EntityWorldMut<'_>
impl BuildChildrenTransformExt for EntityWorldMut<'_>
source§fn set_parent_in_place(&mut self, parent: Entity) -> &mut EntityWorldMut<'_>
fn set_parent_in_place(&mut self, parent: Entity) -> &mut EntityWorldMut<'_>
GlobalTransform
by updating its Transform
. Read moresource§fn remove_parent_in_place(&mut self) -> &mut EntityWorldMut<'_>
fn remove_parent_in_place(&mut self) -> &mut EntityWorldMut<'_>
GlobalTransform
by updating its Transform
to be equal to its current GlobalTransform
. Read moresource§impl<'w> DespawnRecursiveExt for EntityWorldMut<'w>
impl<'w> DespawnRecursiveExt for EntityWorldMut<'w>
source§fn despawn_recursive(self)
fn despawn_recursive(self)
Despawns the provided entity and its children. This will emit warnings for any entity that does not exist.
source§fn try_despawn_recursive(self)
fn try_despawn_recursive(self)
Despawns the provided entity and its children. This will not emit warnings.
source§fn despawn_descendants(&mut self) -> &mut EntityWorldMut<'w>
fn despawn_descendants(&mut self) -> &mut EntityWorldMut<'w>
source§fn try_despawn_descendants(&mut self) -> &mut EntityWorldMut<'w>
fn try_despawn_descendants(&mut self) -> &mut EntityWorldMut<'w>
Self::despawn_descendants
but does not emit warningssource§impl<'a> From<&'a EntityWorldMut<'_>> for EntityRef<'a>
impl<'a> From<&'a EntityWorldMut<'_>> for EntityRef<'a>
source§fn from(value: &'a EntityWorldMut<'_>) -> EntityRef<'a>
fn from(value: &'a EntityWorldMut<'_>) -> EntityRef<'a>
source§impl<'a> From<&'a EntityWorldMut<'_>> for FilteredEntityRef<'a>
impl<'a> From<&'a EntityWorldMut<'_>> for FilteredEntityRef<'a>
source§fn from(entity: &'a EntityWorldMut<'_>) -> FilteredEntityRef<'a>
fn from(entity: &'a EntityWorldMut<'_>) -> FilteredEntityRef<'a>
source§impl<'a> From<&'a mut EntityWorldMut<'_>> for EntityMut<'a>
impl<'a> From<&'a mut EntityWorldMut<'_>> for EntityMut<'a>
source§fn from(value: &'a mut EntityWorldMut<'_>) -> EntityMut<'a>
fn from(value: &'a mut EntityWorldMut<'_>) -> EntityMut<'a>
source§impl<'a> From<&'a mut EntityWorldMut<'_>> for FilteredEntityMut<'a>
impl<'a> From<&'a mut EntityWorldMut<'_>> for FilteredEntityMut<'a>
source§fn from(entity: &'a mut EntityWorldMut<'_>) -> FilteredEntityMut<'a>
fn from(entity: &'a mut EntityWorldMut<'_>) -> FilteredEntityMut<'a>
source§impl<'a> From<EntityWorldMut<'a>> for FilteredEntityMut<'a>
impl<'a> From<EntityWorldMut<'a>> for FilteredEntityMut<'a>
source§fn from(entity: EntityWorldMut<'a>) -> FilteredEntityMut<'a>
fn from(entity: EntityWorldMut<'a>) -> FilteredEntityMut<'a>
source§impl<'a> From<EntityWorldMut<'a>> for FilteredEntityRef<'a>
impl<'a> From<EntityWorldMut<'a>> for FilteredEntityRef<'a>
source§fn from(entity: EntityWorldMut<'a>) -> FilteredEntityRef<'a>
fn from(entity: EntityWorldMut<'a>) -> FilteredEntityRef<'a>
source§impl<'w> From<EntityWorldMut<'w>> for EntityMut<'w>
impl<'w> From<EntityWorldMut<'w>> for EntityMut<'w>
source§fn from(value: EntityWorldMut<'w>) -> EntityMut<'w>
fn from(value: EntityWorldMut<'w>) -> EntityMut<'w>
source§impl<'w> From<EntityWorldMut<'w>> for EntityRef<'w>
impl<'w> From<EntityWorldMut<'w>> for EntityRef<'w>
source§fn from(entity_mut: EntityWorldMut<'w>) -> EntityRef<'w>
fn from(entity_mut: EntityWorldMut<'w>) -> EntityRef<'w>
Auto Trait Implementations§
impl<'w> Freeze for EntityWorldMut<'w>
impl<'w> !RefUnwindSafe for EntityWorldMut<'w>
impl<'w> Send for EntityWorldMut<'w>
impl<'w> Sync for EntityWorldMut<'w>
impl<'w> Unpin for EntityWorldMut<'w>
impl<'w> !UnwindSafe for EntityWorldMut<'w>
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