Struct AnimationLibrary

Source
pub struct AnimationLibrary { /* private fields */ }
Expand description

The animation library is the global store for clips and animations.

When the SpritesheetAnimationPlugin is added to the app, the AnimationLibrary becomes available as a resource.

You can then use it to register new clips and animations, and create new markers.

§Example

fn my_system(mut library: ResMut<AnimationLibrary>) {
    // Create a marker

    let marker_id = library.new_marker();

    // Create a clip and attach the marker created above

    let clip = Clip::from_frames([0, 1, 2, 3])
        .with_marker(marker_id, 5);

    let clip_id = library.register_clip(clip);

    // Create an animation that uses the clip

    let animation = Animation::from_clip(clip_id);

    let animation_id = library.register_animation(animation);

    // ... Assign the animation to a SpritesheetAnimation component ...
}

Implementations§

Source§

impl AnimationLibrary

Source

pub fn register_clip(&mut self, clip: Clip) -> ClipId

Registers a Clip and returns its ID.

The clip can then be referenced in one or several Animations.

§Example
let clip = Clip::from_frames([4, 5, 6]).with_repetitions(10);

let clip_id = library.register_clip(clip);

let animation = Animation::from_clip(clip_id);

// ...
Source

pub fn deregister_clip(&mut self, clip_id: ClipId)

Deregisters a clip from the library.

§Example
let clip = Clip::from_frames([1, 2, 3]);

let clip_id = library.register_clip(clip);

library.deregister_clip(clip_id);

// TODO should return an Option
// assert!(library.get_clip(clip_id).is_none());
Source

pub fn name_clip( &mut self, clip_id: ClipId, name: impl Into<String>, ) -> Result<(), LibraryError>

Associates a unique name to a clip.

The clip ID can then later be queried from that name with AnimationLibrary::clip_with_name.

Returns a LibraryError::NameAlreadyTaken error if the name is already in use.

§Arguments
  • clip_id - the ID of the clip to name
  • name - the name to assign
§Example
let clip = Clip::from_frames([1, 2, 3]);
let clip_id = library.register_clip(clip);

library.name_clip(clip_id, "jump");

assert_eq!(library.clip_with_name("jump"), Some(clip_id));
assert!(library.is_clip_name(clip_id, "jump"));
Source

pub fn clip_names(&self) -> &HashMap<ClipId, String>

Returns all the clip names registered in the library.

Source

pub fn clip_with_name(&self, name: impl AsRef<str>) -> Option<ClipId>

Returns the ID of the clip with the given name if it exists.

§Arguments
  • name - the clip name
Source

pub fn get_clip_name(&self, clip_id: ClipId) -> Option<&str>

Returns the name of the clip with the given ID if it exists.

§Arguments
  • clip_id - the clip id
Source

pub fn is_clip_name(&self, clip_id: ClipId, name: impl AsRef<str>) -> bool

Returns true if a clip has the given name.

§Arguments
  • clip_id - the ID of the clip to check the name of
  • name - the name to check
Source

pub fn clips(&self) -> &HashMap<ClipId, Clip>

Returns all the clips registered in the library.

Source

pub fn get_clip(&self, clip_id: ClipId) -> &Clip

Returns a clip registered in the library.

Source

pub fn register_animation(&mut self, animation: Animation) -> AnimationId

Registers an new Animation and returns its ID.

The animation can then be referenced in SpritesheetAnimation components.

§Example
fn f(
    mut commands: Commands,
    mut library: AnimationLibrary,
    // ...
) {
    let clip = Clip::from_frames([4, 5, 6]);

    let clip_id = library.register_clip(clip);

    let animation = Animation::from_clip(clip_id)
        .with_duration(AnimationDuration::PerRepetition(1500));

    let animation_id = library.register_animation(animation);

    // The animation can then be assigned to an entity

    // ... omitted: load an image and create a texture atlas for the sprite ...

    commands.spawn((
        Sprite::from_atlas_image(image, atlas),
        SpritesheetAnimation::from_id(animation_id)
    ));
}
Source

pub fn deregister_animation(&mut self, animation_id: AnimationId)

Deregisters an animation from the library.

This also deregisters all the clips associated with the animation.

§Example
fn f(
    mut commands: Commands,
    mut library: AnimationLibrary,
    // ...
) {
    let clip = Clip::from_frames([4, 5, 6]);

    let clip_id = library.register_clip(clip);

    let animation = Animation::from_clip(clip_id)
        .with_duration(AnimationDuration::PerRepetition(1500));

    let animation_id = library.register_animation(animation);

    // Later, when finished with the animation, deregister it.

    library.deregister_animation(animation_id);

    // The animation and its clips are no longer available in the library.
    // TODO should return an Option
    // assert!(library.get_animation(animation_id).is_none());
    // assert!(library.get_clip(clip_id).is_none());
}
Source

pub fn name_animation( &mut self, animation_id: AnimationId, name: impl Into<String>, ) -> Result<(), LibraryError>

Associates a unique name to an animation.

The animation ID can then later be queried from that name with AnimationLibrary::animation_with_name.

Returns a LibraryError::NameAlreadyTaken error if the name is already in use.

§Arguments
  • animation_id - the ID of the animation to name
  • name - the name to assign
§Example
let animation = Animation::from_clip(clip_id);

let animation_id = library.register_animation(animation);

library.name_animation(animation_id, "crouch");

assert_eq!(library.animation_with_name("crouch"), Some(animation_id));
assert!(library.is_animation_name(animation_id, "crouch"));
Source

pub fn animation_names(&self) -> &HashMap<AnimationId, String>

Returns all the animation names registered in the library.

Source

pub fn animation_with_name(&self, name: impl AsRef<str>) -> Option<AnimationId>

Returns the ID of the animation with the given name if it exists.

§Arguments
  • name - the animation name
Source

pub fn get_animation_name(&self, animation_id: AnimationId) -> Option<&str>

Returns the name of the animation with the given ID if it exists.

§Arguments
  • animation_id - the animation id
Source

pub fn is_animation_name( &self, animation_id: AnimationId, name: impl AsRef<str>, ) -> bool

Returns true if an animation has the given name.

§Arguments
  • animation_id - the ID of the animation to check the name of
  • name - the name to check
Source

pub fn animations(&self) -> &HashMap<AnimationId, Animation>

Returns all the animations registered in the library.

Source

pub fn get_animation(&self, animation_id: AnimationId) -> &Animation

Returns an animation registered in the library.

Source

pub fn new_marker(&mut self) -> AnimationMarkerId

Creates a new animation marker and returns a unique ID to refer to it.

The marker can then be inserted into Clips and an AnimationEvent::MarkerHit event will be emitted whenever an animation reaches it.

For more details, see the documentation of AnimationEvent.

§Example
let marker = library.new_marker();

let clip = Clip::from_frames([7, 8, 9, 10, 11, 12])
    .with_marker(marker, 3);
Source

pub fn name_marker( &mut self, marker_id: AnimationMarkerId, name: impl Into<String>, ) -> Result<(), LibraryError>

Associates a unique name to an animation marker.

The marker ID can then later be queried from that name with AnimationLibrary::marker_with_name.

Returns a LibraryError::NameAlreadyTaken error if the name is already in use.

§Arguments
  • marker_id - the ID of the marker to name
  • name - the name to assign
§Example
let marker_id = library.new_marker();

library.name_marker(marker_id, "raise sword");

assert_eq!(library.marker_with_name("raise sword"), Some(marker_id));
assert!(library.is_marker_name(marker_id, "raise sword"));
Source

pub fn marker_names(&self) -> &HashMap<AnimationMarkerId, String>

Returns all the marker names registered in the library.

Source

pub fn marker_with_name( &self, name: impl AsRef<str>, ) -> Option<AnimationMarkerId>

Returns the ID of the marker with the given name if it exists.

§Arguments
  • name - the marker name
Source

pub fn get_marker_name(&self, marker_id: AnimationMarkerId) -> Option<&str>

Returns the name of the marker with the given ID if it exists.

§Arguments
  • marker_id - the marker id
Source

pub fn is_marker_name( &self, marker_id: AnimationMarkerId, name: impl AsRef<str>, ) -> bool

Returns true if an animation marker has the given name.

§Arguments
  • marker_id - the ID of the marker to check the name of
  • name - the name to check
Source

pub fn markers(&self) -> &HashSet<AnimationMarkerId>

Returns all the animation markers registered in the library.

Trait Implementations§

Source§

impl Default for AnimationLibrary

Source§

fn default() -> AnimationLibrary

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

impl FromReflect for AnimationLibrary
where AnimationLibrary: Any + Send + Sync, HashMap<ClipId, Clip>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<ClipId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, Animation>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashSet<AnimationMarkerId>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationMarkerId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, Arc<AnimationCache>>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, AtomicUsize: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>

Constructs a concrete instance of Self from a reflected value.
Source§

fn take_from_reflect( reflect: Box<dyn PartialReflect>, ) -> Result<Self, Box<dyn PartialReflect>>

Attempts to downcast the given value to Self using, constructing the value using from_reflect if that fails. Read more
Source§

impl GetTypeRegistration for AnimationLibrary
where AnimationLibrary: Any + Send + Sync, HashMap<ClipId, Clip>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<ClipId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, Animation>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashSet<AnimationMarkerId>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationMarkerId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, Arc<AnimationCache>>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, AtomicUsize: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn get_type_registration() -> TypeRegistration

Returns the default TypeRegistration for this type.
Source§

fn register_type_dependencies(registry: &mut TypeRegistry)

Registers other types needed by this type. Read more
Source§

impl PartialReflect for AnimationLibrary
where AnimationLibrary: Any + Send + Sync, HashMap<ClipId, Clip>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<ClipId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, Animation>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashSet<AnimationMarkerId>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationMarkerId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, Arc<AnimationCache>>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, AtomicUsize: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn get_represented_type_info(&self) -> Option<&'static TypeInfo>

Returns the TypeInfo of the type represented by this value. Read more
Source§

fn try_apply(&mut self, value: &dyn PartialReflect) -> Result<(), ApplyError>

Tries to apply a reflected value to this value. Read more
Source§

fn reflect_kind(&self) -> ReflectKind

Returns a zero-sized enumeration of “kinds” of type. Read more
Source§

fn reflect_ref(&self) -> ReflectRef<'_>

Returns an immutable enumeration of “kinds” of type. Read more
Source§

fn reflect_mut(&mut self) -> ReflectMut<'_>

Returns a mutable enumeration of “kinds” of type. Read more
Source§

fn reflect_owned(self: Box<Self>) -> ReflectOwned

Returns an owned enumeration of “kinds” of type. Read more
Source§

fn try_into_reflect( self: Box<Self>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>

Attempts to cast this type to a boxed, fully-reflected value.
Source§

fn try_as_reflect(&self) -> Option<&dyn Reflect>

Attempts to cast this type to a fully-reflected value.
Source§

fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>

Attempts to cast this type to a mutable, fully-reflected value.
Source§

fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>

Casts this type to a boxed, reflected value. Read more
Source§

fn as_partial_reflect(&self) -> &dyn PartialReflect

Casts this type to a reflected value. Read more
Source§

fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect

Casts this type to a mutable, reflected value. Read more
Source§

fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>

Returns a “partial equality” comparison result. Read more
Source§

fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>

Attempts to clone Self using reflection. Read more
Source§

fn apply(&mut self, value: &(dyn PartialReflect + 'static))

Applies a reflected value to this value. Read more
Source§

fn clone_value(&self) -> Box<dyn PartialReflect>

👎Deprecated since 0.16.0: to clone reflected values, prefer using reflect_clone. To convert reflected values to dynamic ones, use to_dynamic.
Clones Self into its dynamic representation. Read more
Source§

fn to_dynamic(&self) -> Box<dyn PartialReflect>

Converts this reflected value into its dynamic representation based on its kind. Read more
Source§

fn reflect_hash(&self) -> Option<u64>

Returns a hash of the value (which includes the type). Read more
Source§

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

Debug formatter for the value. Read more
Source§

fn is_dynamic(&self) -> bool

Indicates whether or not this type is a dynamic type. Read more
Source§

impl Reflect for AnimationLibrary
where AnimationLibrary: Any + Send + Sync, HashMap<ClipId, Clip>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<ClipId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, Animation>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashSet<AnimationMarkerId>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationMarkerId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, Arc<AnimationCache>>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, AtomicUsize: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn into_any(self: Box<Self>) -> Box<dyn Any>

Returns the value as a Box<dyn Any>. Read more
Source§

fn as_any(&self) -> &dyn Any

Returns the value as a &dyn Any. Read more
Source§

fn as_any_mut(&mut self) -> &mut dyn Any

Returns the value as a &mut dyn Any. Read more
Source§

fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>

Casts this type to a boxed, fully-reflected value.
Source§

fn as_reflect(&self) -> &dyn Reflect

Casts this type to a fully-reflected value.
Source§

fn as_reflect_mut(&mut self) -> &mut dyn Reflect

Casts this type to a mutable, fully-reflected value.
Source§

fn set(&mut self, value: Box<dyn Reflect>) -> Result<(), Box<dyn Reflect>>

Performs a type-checked assignment of a reflected value to this value. Read more
Source§

impl Struct for AnimationLibrary
where AnimationLibrary: Any + Send + Sync, HashMap<ClipId, Clip>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<ClipId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, Animation>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashSet<AnimationMarkerId>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationMarkerId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, Arc<AnimationCache>>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, AtomicUsize: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn field(&self, name: &str) -> Option<&dyn PartialReflect>

Returns a reference to the value of the field named name as a &dyn PartialReflect.
Source§

fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>

Returns a mutable reference to the value of the field named name as a &mut dyn PartialReflect.
Source§

fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>

Returns a reference to the value of the field with index index as a &dyn PartialReflect.
Source§

fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>

Returns a mutable reference to the value of the field with index index as a &mut dyn PartialReflect.
Source§

fn name_at(&self, index: usize) -> Option<&str>

Returns the name of the field with index index.
Source§

fn field_len(&self) -> usize

Returns the number of fields in the struct.
Source§

fn iter_fields(&self) -> FieldIter<'_>

Returns an iterator over the values of the reflectable fields for this struct.
Source§

fn to_dynamic_struct(&self) -> DynamicStruct

Source§

fn clone_dynamic(&self) -> DynamicStruct

👎Deprecated since 0.16.0: use to_dynamic_struct instead
Clones the struct into a DynamicStruct.
Source§

fn get_represented_struct_info(&self) -> Option<&'static StructInfo>

Will return None if TypeInfo is not available.
Source§

impl TypePath for AnimationLibrary

Source§

fn type_path() -> &'static str

Returns the fully qualified path of the underlying type. Read more
Source§

fn short_type_path() -> &'static str

Returns a short, pretty-print enabled path to the type. Read more
Source§

fn type_ident() -> Option<&'static str>

Returns the name of the type, or None if it is anonymous. Read more
Source§

fn crate_name() -> Option<&'static str>

Returns the name of the crate the type is in, or None if it is anonymous. Read more
Source§

fn module_path() -> Option<&'static str>

Returns the path to the module the type is in, or None if it is anonymous. Read more
Source§

impl Typed for AnimationLibrary
where AnimationLibrary: Any + Send + Sync, HashMap<ClipId, Clip>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<ClipId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, Animation>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashSet<AnimationMarkerId>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationMarkerId, String>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, HashMap<AnimationId, Arc<AnimationCache>>: FromReflect + TypePath + MaybeTyped + RegisterForReflection, AtomicUsize: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn type_info() -> &'static TypeInfo

Returns the compile-time info for the underlying type.
Source§

impl Resource for AnimationLibrary
where Self: Send + Sync + 'static,

Auto Trait Implementations§

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, U> AsBindGroupShaderType<U> for T
where U: ShaderType, &'a T: for<'a> Into<U>,

Source§

fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U

Return the T ShaderType for self. When used in AsBindGroup derives, it is safe to assume that all images in self exist.
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> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &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)

Converts &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> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DynamicTypePath for T
where T: TypePath,

Source§

impl<T> DynamicTyped for T
where T: Typed,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromWorld for T
where T: Default,

Source§

fn from_world(_world: &mut World) -> T

Creates Self using default().

Source§

impl<S> GetField for S
where S: Struct,

Source§

fn get_field<T>(&self, name: &str) -> Option<&T>
where T: Reflect,

Returns a reference to the value of the field named name, downcast to T.
Source§

fn get_field_mut<T>(&mut self, name: &str) -> Option<&mut T>
where T: Reflect,

Returns a mutable reference to the value of the field named name, downcast to T.
Source§

impl<T> GetPath for T
where T: Reflect + ?Sized,

Source§

fn reflect_path<'p>( &self, path: impl ReflectPath<'p>, ) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>

Returns a reference to the value specified by path. Read more
Source§

fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>

Returns a mutable reference to the value specified by path. Read more
Source§

fn path<'p, T>( &self, path: impl ReflectPath<'p>, ) -> Result<&T, ReflectPathError<'p>>
where T: Reflect,

Returns a statically typed reference to the value specified by path. Read more
Source§

fn path_mut<'p, T>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut T, ReflectPathError<'p>>
where T: Reflect,

Returns a statically typed mutable reference to the value specified by path. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
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> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ConditionalSend for T
where T: Send,

Source§

impl<T> Reflectable for T

Source§

impl<T> Settings for T
where T: 'static + Send + Sync,

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,