Skip to main content

FromType

Trait FromType 

Source
pub trait FromType<T> {
    // Required method
    fn from_type() -> Self;

    // Provided method
    fn insert_dependencies(_type_registration: &mut TypeRegistration) { ... }
}
Expand description

Trait used to generate TypeData for trait reflection.

This is used by the #[derive(Reflect)] macro to generate an implementation of TypeData to pass to TypeRegistration::insert.

Required Methods§

Source

fn from_type() -> Self

Creates an instance of Self for type T.

Provided Methods§

Source

fn insert_dependencies(_type_registration: &mut TypeRegistration)

Inserts TypeData dependencies of this TypeData. This is especially useful for trait TypeData that has a supertrait (ex: A: B). When the TypeData for A is inserted, the B TypeData will also be inserted.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'a, E> FromType<E> for ReflectEvent
where E: Event + Reflect + TypePath, <E as Event>::Trigger<'a>: Default,

Source§

impl<A> FromType<A> for ReflectAsset
where A: Asset + FromReflect,

Source§

impl<A> FromType<Handle<A>> for ReflectHandle
where A: Asset,

Source§

impl<B> FromType<B> for ReflectBundle

Source§

impl<B> FromType<B> for ReflectFromWorld
where B: Reflect + FromWorld,

Source§

impl<C> FromType<C> for ReflectComponent
where C: Component + Reflect + TypePath,

Source§

impl<C> FromType<C> for ReflectMapEntities

Source§

impl<M> FromType<M> for ReflectMessage
where M: Message + Reflect + TypePath,

Source§

impl<R> FromType<R> for ReflectResource

Source§

impl<T> FromType<T> for ReflectAdd
where T: Reflect + Add, <T as Add>::Output: Reflect,

Source§

impl<T> FromType<T> for ReflectAddAssign
where T: Reflect + AddAssign,

Source§

impl<T> FromType<T> for ReflectDefault
where T: Reflect + Default,

Source§

impl<T> FromType<T> for ReflectDeserialize
where T: for<'a> Deserialize<'a> + Reflect,

Source§

impl<T> FromType<T> for ReflectDeserializeWithRegistry
where T: PartialReflect + for<'de> DeserializeWithRegistry<'de>,

Source§

impl<T> FromType<T> for ReflectDiv
where T: Reflect + Div, <T as Div>::Output: Reflect,

Source§

impl<T> FromType<T> for ReflectDivAssign
where T: Reflect + DivAssign,

Source§

impl<T> FromType<T> for ReflectFromPtr
where T: Reflect,

Source§

impl<T> FromType<T> for ReflectFromReflect
where T: FromReflect,

Source§

impl<T> FromType<T> for ReflectMul
where T: Reflect + Mul, <T as Mul>::Output: Reflect,

Source§

impl<T> FromType<T> for ReflectMulAssign
where T: Reflect + MulAssign,

Source§

impl<T> FromType<T> for ReflectRem
where T: Reflect + Rem, <T as Rem>::Output: Reflect,

Source§

impl<T> FromType<T> for ReflectRemAssign
where T: Reflect + RemAssign,

Source§

impl<T> FromType<T> for ReflectSerialize

Source§

impl<T> FromType<T> for ReflectSerializeWithRegistry

Source§

impl<T> FromType<T> for ReflectSub
where T: Reflect + Sub, <T as Sub>::Output: Reflect,

Source§

impl<T> FromType<T> for ReflectSubAssign
where T: Reflect + SubAssign,