pub trait GetTypeRegistration {
    // Required method
    fn get_type_registration() -> TypeRegistration;
}
Expand description

A trait which allows a type to generate its TypeRegistration for registration into the TypeRegistry.

This trait is automatically implemented for items using #[derive(Reflect)]. The macro also allows TypeData to be more easily registered.

See the crate-level documentation for more information on type registration.

Required Methods§

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl GetTypeRegistration for &'static str

source§

impl GetTypeRegistration for &'static Path

source§

impl GetTypeRegistration for Cow<'static, str>

source§

impl GetTypeRegistration for Cow<'static, Path>

source§

impl GetTypeRegistration for bool
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for char
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for f32
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for f64
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for i8
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for i16
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for i32
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for i64
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for i128
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for isize
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for u8
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for u16
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for u32
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for u64
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for u128
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for ()

source§

impl GetTypeRegistration for usize
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for String
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for RangeFull
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for Duration
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for OsString
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for PathBuf
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for Instant
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for Uuid
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for NonZeroI8
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for NonZeroI16
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for NonZeroI32
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for NonZeroI64
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for NonZeroI128
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for NonZeroIsize
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for NonZeroU8
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for NonZeroU16
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for NonZeroU32
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for NonZeroU64
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for NonZeroU128
where Self: Any + Send + Sync,

source§

impl GetTypeRegistration for NonZeroUsize
where Self: Any + Send + Sync,

source§

impl<A: Reflect + TypePath> GetTypeRegistration for (A,)

source§

impl<A: Reflect + TypePath, B: Reflect + TypePath> GetTypeRegistration for (A, B)

source§

impl<A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath> GetTypeRegistration for (A, B, C)

source§

impl<A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath> GetTypeRegistration for (A, B, C, D)

source§

impl<A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath> GetTypeRegistration for (A, B, C, D, E)

source§

impl<A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath> GetTypeRegistration for (A, B, C, D, E, F)

source§

impl<A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath, G: Reflect + TypePath> GetTypeRegistration for (A, B, C, D, E, F, G)

source§

impl<A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath, G: Reflect + TypePath, H: Reflect + TypePath> GetTypeRegistration for (A, B, C, D, E, F, G, H)

source§

impl<A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath, G: Reflect + TypePath, H: Reflect + TypePath, I: Reflect + TypePath> GetTypeRegistration for (A, B, C, D, E, F, G, H, I)

source§

impl<A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath, G: Reflect + TypePath, H: Reflect + TypePath, I: Reflect + TypePath, J: Reflect + TypePath> GetTypeRegistration for (A, B, C, D, E, F, G, H, I, J)

source§

impl<A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath, G: Reflect + TypePath, H: Reflect + TypePath, I: Reflect + TypePath, J: Reflect + TypePath, K: Reflect + TypePath> GetTypeRegistration for (A, B, C, D, E, F, G, H, I, J, K)

source§

impl<A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath, G: Reflect + TypePath, H: Reflect + TypePath, I: Reflect + TypePath, J: Reflect + TypePath, K: Reflect + TypePath, L: Reflect + TypePath> GetTypeRegistration for (A, B, C, D, E, F, G, H, I, J, K, L)

source§

impl<K, V, S> GetTypeRegistration for HashMap<K, V, S>

source§

impl<K, V, S> GetTypeRegistration for HashMap<K, V, S>

source§

impl<T> GetTypeRegistration for Arc<T>
where Self: Any + Send + Sync, T: TypePath + Send + Sync,

source§

impl<T> GetTypeRegistration for Saturating<T>
where Self: Any + Send + Sync, T: TypePath + Clone + Send + Sync,

source§

impl<T> GetTypeRegistration for Wrapping<T>
where Self: Any + Send + Sync, T: TypePath + Clone + Send + Sync,

source§

impl<T> GetTypeRegistration for Range<T>
where Self: Any + Send + Sync, T: TypePath + Clone + Send + Sync,

source§

impl<T> GetTypeRegistration for RangeFrom<T>
where Self: Any + Send + Sync, T: TypePath + Clone + Send + Sync,

source§

impl<T> GetTypeRegistration for RangeInclusive<T>
where Self: Any + Send + Sync, T: TypePath + Clone + Send + Sync,

source§

impl<T> GetTypeRegistration for RangeTo<T>
where Self: Any + Send + Sync, T: TypePath + Clone + Send + Sync,

source§

impl<T> GetTypeRegistration for RangeToInclusive<T>
where Self: Any + Send + Sync, T: TypePath + Clone + Send + Sync,

source§

impl<T> GetTypeRegistration for HashSet<T>
where Self: Any + Send + Sync, T: TypePath + Hash + Eq + Clone + Send + Sync,

source§

impl<T, E> GetTypeRegistration for Result<T, E>
where Self: Any + Send + Sync, T: TypePath + Clone + Reflect + TypePath, E: TypePath + Clone + Reflect + TypePath,

source§

impl<T: FromReflect + Clone + TypePath> GetTypeRegistration for Cow<'static, [T]>

source§

impl<T: FromReflect + TypePath> GetTypeRegistration for Option<T>

source§

impl<T: FromReflect + TypePath> GetTypeRegistration for VecDeque<T>

source§

impl<T: FromReflect + TypePath> GetTypeRegistration for Vec<T>

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 0]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 1]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 2]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 3]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 4]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 5]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 6]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 7]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 8]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 9]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 10]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 11]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 12]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 13]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 14]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 15]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 16]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 17]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 18]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 19]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 20]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 21]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 22]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 23]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 24]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 25]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 26]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 27]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 28]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 29]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 30]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 31]

source§

impl<T: Reflect + TypePath> GetTypeRegistration for [T; 32]

Implementors§