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}