Skip to main content

GetTypeRegistration

Trait GetTypeRegistration 

pub trait GetTypeRegistration: 'static {
    // Required method
    fn get_type_registration() -> TypeRegistration;

    // Provided method
    fn register_type_dependencies(_registry: &mut TypeRegistry) { ... }
}
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.

If you need to use this trait as a generic bound along with other reflection traits, for your convenience, consider using Reflectable instead.

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

Required Methods§

fn get_type_registration() -> TypeRegistration

Returns the default TypeRegistration for this type.

Provided Methods§

fn register_type_dependencies(_registry: &mut TypeRegistry)

Registers other types needed by this type.

This method is called by TypeRegistry::register to register any other required types. Often, this is done for fields of structs and enum variants to ensure all types are properly registered.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementations on Foreign Types§

§

impl GetTypeRegistration for &'static Location<'static>

§

impl GetTypeRegistration for &'static str

§

impl GetTypeRegistration for ()

§

impl GetTypeRegistration for Atomic<bool>

§

impl GetTypeRegistration for Atomic<i8>

§

impl GetTypeRegistration for Atomic<i16>

§

impl GetTypeRegistration for Atomic<i32>

§

impl GetTypeRegistration for Atomic<i64>

§

impl GetTypeRegistration for Atomic<isize>

§

impl GetTypeRegistration for Atomic<u8>

§

impl GetTypeRegistration for Atomic<u16>

§

impl GetTypeRegistration for Atomic<u32>

§

impl GetTypeRegistration for Atomic<u64>

§

impl GetTypeRegistration for Atomic<usize>

§

impl GetTypeRegistration for Cow<'static, str>

§

impl GetTypeRegistration for CuDuration

§

impl GetTypeRegistration for CuMsgOrigin

§

impl GetTypeRegistration for CuTime

§

impl GetTypeRegistration for CuTimeRange

§

impl GetTypeRegistration for Duration

§

impl GetTypeRegistration for Instant

§

impl GetTypeRegistration for NonZero<i8>

§

impl GetTypeRegistration for NonZero<i16>

§

impl GetTypeRegistration for NonZero<i32>

§

impl GetTypeRegistration for NonZero<i64>

§

impl GetTypeRegistration for NonZero<i128>

§

impl GetTypeRegistration for NonZero<isize>

§

impl GetTypeRegistration for NonZero<u8>

§

impl GetTypeRegistration for NonZero<u16>

§

impl GetTypeRegistration for NonZero<u32>

§

impl GetTypeRegistration for NonZero<u64>

§

impl GetTypeRegistration for NonZero<u128>

§

impl GetTypeRegistration for NonZero<usize>

§

impl GetTypeRegistration for OptionCuTime

§

impl GetTypeRegistration for PartialCuTimeRange

§

impl GetTypeRegistration for RangeFull

§

impl GetTypeRegistration for SocketAddr

§

impl GetTypeRegistration for String

§

impl GetTypeRegistration for Tov

§

impl GetTypeRegistration for TypeId

§

impl GetTypeRegistration for bool

§

impl GetTypeRegistration for char

§

impl GetTypeRegistration for f32

§

impl GetTypeRegistration for f64

§

impl GetTypeRegistration for i8

§

impl GetTypeRegistration for i16

§

impl GetTypeRegistration for i32

§

impl GetTypeRegistration for i64

§

impl GetTypeRegistration for i128

§

impl GetTypeRegistration for isize

§

impl GetTypeRegistration for u8

§

impl GetTypeRegistration for u16

§

impl GetTypeRegistration for u32

§

impl GetTypeRegistration for u64

§

impl GetTypeRegistration for u128

§

impl GetTypeRegistration for usize

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<K, V> GetTypeRegistration for BTreeMap<K, V>
where K: FromReflect + MaybeTyped + TypePath + GetTypeRegistration + Eq + Ord, V: FromReflect + MaybeTyped + TypePath + GetTypeRegistration,

§

impl<T, E> GetTypeRegistration for Result<T, E>
where Result<T, E>: Any + Send + Sync, T: TypePath + FromReflect + MaybeTyped + RegisterForReflection, E: TypePath + FromReflect + MaybeTyped + RegisterForReflection,

§

impl<T, H> GetTypeRegistration for Hashed<T, H>
where T: Clone + Send + Sync + TypePath, H: Send + Sync + TypePath, Hashed<T, H>: Any + Send + Sync,

§

impl<T, const N: usize> GetTypeRegistration for [T; N]
where T: Reflect + MaybeTyped + TypePath + GetTypeRegistration,

§

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

§

impl<T> GetTypeRegistration for BTreeSet<T>
where T: Ord + Eq + Clone + Send + Sync + TypePath, BTreeSet<T>: Any + Send + Sync,

§

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

§

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

§

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

§

impl<T> GetTypeRegistration for Option<T>
where Option<T>: Any + Send + Sync, T: TypePath + FromReflect + MaybeTyped + RegisterForReflection,

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<T> GetTypeRegistration for Vec<T>
where T: FromReflect + MaybeTyped + TypePath + GetTypeRegistration,

§

impl<T> GetTypeRegistration for VecDeque<T>
where T: FromReflect + MaybeTyped + TypePath + GetTypeRegistration,

§

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

§

impl<V, S> GetTypeRegistration for HashSet<V, S>

Implementors§

Source§

impl GetTypeRegistration for CuMsgMetadata

§

impl GetTypeRegistration for OffsetAccess

§

impl GetTypeRegistration for ParsedPath

§

impl<'a> GetTypeRegistration for Access<'a>
where Access<'a>: 'static,

Source§

impl<I> GetTypeRegistration for CuSimSinkTask<I>
where CuSimSinkTask<I>: Any + Send + Sync,

Source§

impl<O> GetTypeRegistration for CuSimSrcTaskPack<O>
where CuSimSrcTaskPack<O>: Any + Send + Sync,

Source§

impl<T, M> GetTypeRegistration for CuStampedData<T, M>
where CuStampedData<T, M>: Any + Send + Sync, T: CuMsgPayload + TypePath, M: Metadata + TypePath,

Source§

impl<T, O> GetTypeRegistration for CuAsyncSrcTask<T, O>
where CuAsyncSrcTask<T, O>: Any + Send + Sync, T: for<'m> CuSrcTask<Output<'m> = CuMsg<O>> + Send + 'static, O: CuMsgPayload + Send + 'static,

Source§

impl<T, O> GetTypeRegistration for CuAsyncTask<T, O>
where CuAsyncTask<T, O>: Any + Send + Sync, T: for<'m> CuTask<Output<'m> = CuMsg<O>> + Send + 'static, O: CuMsgPayload + Send + 'static,

Source§

impl<T, const N: usize> GetTypeRegistration for CuArray<T, N>
where CuArray<T, N>: Any + Send + Sync, T: TypePath + Clone,

Source§

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

Source§

impl<T> GetTypeRegistration for CuLatchedStateUpdate<T>

Source§

impl<T> GetTypeRegistration for CuSimSrcTask<T>
where CuSimSrcTask<T>: Any + Send + Sync,

Source§

impl<Tx: BridgeChannelSet + 'static, Rx: BridgeChannelSet + 'static> GetTypeRegistration for CuSimBridge<Tx, Rx>
where CuSimBridge<Tx, Rx>: Any + Send + Sync,