bevy_trait_query/internal/marker.rs
1use bevy_ecs::component::Component;
2
3/// Marker for traits that can be used in queries.
4pub trait TraitQuery: 'static {}
5
6#[doc(hidden)]
7pub trait TraitQueryMarker<Trait: ?Sized + TraitQuery> {
8 type Covered: Component;
9 /// Casts an untyped pointer to a trait object pointer,
10 /// with a vtable corresponding to `Self::Covered`.
11 fn cast(_: *mut u8) -> *mut Trait;
12}