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 EulerRot
where Self: Any + Send + Sync,

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 Capsule2d
where Self: Any + Send + Sync, f32: FromReflect + TypePath,

source§

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

source§

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

source§

impl GetTypeRegistration for Ellipse
where Self: Any + Send + Sync, Vec2: FromReflect + TypePath,

source§

impl GetTypeRegistration for Line2d

source§

impl GetTypeRegistration for Plane2d

source§

impl GetTypeRegistration for Rectangle
where Self: Any + Send + Sync, Vec2: FromReflect + TypePath,

source§

impl GetTypeRegistration for RegularPolygon

source§

impl GetTypeRegistration for Segment2d

source§

impl GetTypeRegistration for Triangle2d
where Self: Any + Send + Sync, [Vec2; 3]: FromReflect + TypePath,

source§

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

source§

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

source§

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

source§

impl GetTypeRegistration for Cuboid
where Self: Any + Send + Sync, Vec3: FromReflect + TypePath,

source§

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

source§

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

source§

impl GetTypeRegistration for Line3d

source§

impl GetTypeRegistration for Plane3d

source§

impl GetTypeRegistration for Segment3d

source§

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

source§

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

source§

impl GetTypeRegistration for IRect
where Self: Any + Send + Sync, IVec2: FromReflect + TypePath,

source§

impl GetTypeRegistration for Rect
where Self: Any + Send + Sync, Vec2: FromReflect + TypePath,

source§

impl GetTypeRegistration for URect
where Self: Any + Send + Sync, UVec2: FromReflect + TypePath,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl GetTypeRegistration for Affine2

source§

impl GetTypeRegistration for Affine3A

source§

impl GetTypeRegistration for Mat3
where Self: Any + Send + Sync, Vec3: FromReflect + TypePath,

source§

impl GetTypeRegistration for Mat2
where Self: Any + Send + Sync, Vec2: FromReflect + TypePath,

source§

impl GetTypeRegistration for Mat3A
where Self: Any + Send + Sync, Vec3A: FromReflect + TypePath,

source§

impl GetTypeRegistration for Mat4
where Self: Any + Send + Sync, Vec4: FromReflect + TypePath,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl GetTypeRegistration for DAffine2

source§

impl GetTypeRegistration for DAffine3

source§

impl GetTypeRegistration for DMat2
where Self: Any + Send + Sync, DVec2: FromReflect + TypePath,

source§

impl GetTypeRegistration for DMat3
where Self: Any + Send + Sync, DVec3: FromReflect + TypePath,

source§

impl GetTypeRegistration for DMat4
where Self: Any + Send + Sync, DVec4: FromReflect + TypePath,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl GetTypeRegistration for String
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 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<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: Array + TypePath + Send + Sync> GetTypeRegistration for SmallVec<T>

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]

source§

impl<const N: usize> GetTypeRegistration for Polygon<N>
where Self: Any + Send + Sync, [Vec2; N]: FromReflect + TypePath,

source§

impl<const N: usize> GetTypeRegistration for Polyline2d<N>
where Self: Any + Send + Sync, [Vec2; N]: FromReflect + TypePath,

source§

impl<const N: usize> GetTypeRegistration for Polyline3d<N>
where Self: Any + Send + Sync, [Vec3; N]: FromReflect + TypePath,

Implementors§