pub unsafe trait WorldQuery {
type Fetch<'w>: Clone;
type State: Send + Sync + Sized;
const IS_DENSE: bool;
// Required methods
fn shrink_fetch<'wlong: 'wshort, 'wshort>(
fetch: Self::Fetch<'wlong>,
) -> Self::Fetch<'wshort>;
unsafe fn init_fetch<'w, 's>(
world: UnsafeWorldCell<'w>,
state: &'s Self::State,
last_run: Tick,
this_run: Tick,
) -> Self::Fetch<'w>;
unsafe fn set_archetype<'w, 's>(
fetch: &mut Self::Fetch<'w>,
state: &'s Self::State,
archetype: &'w Archetype,
table: &'w Table,
);
unsafe fn set_table<'w, 's>(
fetch: &mut Self::Fetch<'w>,
state: &'s Self::State,
table: &'w Table,
);
fn update_component_access(state: &Self::State, access: &mut FilteredAccess);
fn init_state(world: &mut World) -> Self::State;
fn get_state(components: &Components) -> Option<Self::State>;
fn matches_component_set(
state: &Self::State,
set_contains_id: &impl Fn(ComponentId) -> bool,
) -> bool;
}Expand description
Types that can be used as parameters in a Query.
Types that implement this should also implement either QueryData or QueryFilter
§Safety
Implementor must ensure that
update_component_access, QueryData::provide_extra_access, matches_component_set, QueryData::fetch, QueryFilter::filter_fetch and init_fetch
obey the following:
- For each component mutably accessed by
QueryData::fetch,update_component_accessorQueryData::provide_extra_accessshould add write access unless read or write access has already been added, in which case it should panic. - For each component readonly accessed by
QueryData::fetchorQueryFilter::filter_fetch,update_component_accessorQueryData::provide_extra_accessshould add read access unless write access has already been added, in which case it should panic. - If
fetchmutably accesses the same component twice,update_component_accessshould panic. update_component_accessmay not add aWithoutfilter for a component unlessmatches_component_setalways returnsfalsewhen the component set contains that component.update_component_accessmay not add aWithfilter for a component unlessmatches_component_setalways returnsfalsewhen the component set doesn’t contain that component.- In cases where the query represents a disjunction (such as an
Orfilter) where each element is a validWorldQuery, the following rules must be obeyed:matches_component_setmust be a disjunction of the element’s implementationsupdate_component_accessmust replace the filters with a disjunction of filters- Each filter in that disjunction must be a conjunction of the corresponding element’s filter with the previous
access
- For each resource readonly accessed by
init_fetch,update_component_accessshould add read access. - Mutable resource access is not allowed.
- Any access added during
QueryData::provide_extra_accessmust be a subset ofavailable_access, and must not conflict with any access inaccess.
When implementing update_component_access, note that add_read and add_write both also add a With filter, whereas extend_access does not change the filters.
Required Associated Constants§
Sourceconst IS_DENSE: bool
const IS_DENSE: bool
Returns true if (and only if) every table of every archetype matched by this fetch contains all of the matched components.
This is used to select a more efficient “table iterator”
for “dense” queries. If this returns true, WorldQuery::set_table must be used before
QueryData::fetch can be called for iterators. If this returns false,
WorldQuery::set_archetype must be used before QueryData::fetch can be called for
iterators.
Required Associated Types§
Sourcetype Fetch<'w>: Clone
type Fetch<'w>: Clone
Per archetype/table state retrieved by this WorldQuery to compute Self::Item for each entity.
Sourcetype State: Send + Sync + Sized
type State: Send + Sync + Sized
State used to construct a Self::Fetch. This will be cached inside QueryState,
so it is best to move as much data / computation here as possible to reduce the cost of
constructing Self::Fetch.
Required Methods§
Sourcefn shrink_fetch<'wlong: 'wshort, 'wshort>(
fetch: Self::Fetch<'wlong>,
) -> Self::Fetch<'wshort>
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
This function manually implements subtyping for the query fetches.
Sourceunsafe fn init_fetch<'w, 's>(
world: UnsafeWorldCell<'w>,
state: &'s Self::State,
last_run: Tick,
this_run: Tick,
) -> Self::Fetch<'w>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
Creates a new instance of Self::Fetch,
by combining data from the World with the cached Self::State.
Readonly accesses resources registered in WorldQuery::update_component_access.
§Safety
statemust have been initialized (viaWorldQuery::init_state) using the sameworldpassed in to this function.worldmust have the right to access any access registered inupdate_component_access.- There must not be simultaneous resource access conflicting with readonly resource access registered in
WorldQuery::update_component_access.
Sourceunsafe fn set_archetype<'w, 's>(
fetch: &mut Self::Fetch<'w>,
state: &'s Self::State,
archetype: &'w Archetype,
table: &'w Table,
)
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
Adjusts internal state to account for the next Archetype. This will always be called on
archetypes that match this WorldQuery.
§Safety
archetypeandtablesmust be from the sameWorldthatWorldQuery::init_statewas called on.tablemust correspond toarchetype.statemust be theStatethatfetchwas initialized with.
Sourceunsafe fn set_table<'w, 's>(
fetch: &mut Self::Fetch<'w>,
state: &'s Self::State,
table: &'w Table,
)
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
Adjusts internal state to account for the next Table. This will always be called on tables
that match this WorldQuery.
§Safety
tablemust be from the sameWorldthatWorldQuery::init_statewas called on.statemust be theStatethatfetchwas initialized with.
Sourcefn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
Adds any component accesses used by this WorldQuery to access.
Used to check which queries are disjoint and can run in parallel
Sourcefn init_state(world: &mut World) -> Self::State
fn init_state(world: &mut World) -> Self::State
Creates and initializes a State for this WorldQuery type.
Sourcefn get_state(components: &Components) -> Option<Self::State>
fn get_state(components: &Components) -> Option<Self::State>
Attempts to initialize a State for this WorldQuery type using read-only
access to Components.
Sourcefn matches_component_set(
state: &Self::State,
set_contains_id: &impl Fn(ComponentId) -> bool,
) -> bool
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl WorldQuery for ()
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl WorldQuery for ()
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool = true
type Fetch<'w> = ()
type State = ()
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<'__w, T: Component> WorldQuery for &'__w mut T
SAFETY:
fetch accesses a single component mutably.
This is sound because update_component_access adds write access for that component and panic when appropriate.
update_component_access adds a With filter for a component.
This is sound because matches_component_set returns whether the set contains that component.
impl<'__w, T: Component> WorldQuery for &'__w mut T
SAFETY:
fetch accesses a single component mutably.
This is sound because update_component_access adds write access for that component and panic when appropriate.
update_component_access adds a With filter for a component.
This is sound because matches_component_set returns whether the set contains that component.
const IS_DENSE: bool
type Fetch<'w> = WriteFetch<'w, T>
type State = ComponentId
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, component_id: &ComponentId, last_run: Tick, this_run: Tick, ) -> WriteFetch<'w, T>
unsafe fn set_archetype<'w>( fetch: &mut WriteFetch<'w, T>, component_id: &ComponentId, _archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w>( fetch: &mut WriteFetch<'w, T>, component_id: &ComponentId, table: &'w Table, )
fn update_component_access( component_id: &ComponentId, access: &mut FilteredAccess, )
fn init_state(world: &mut World) -> ComponentId
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &ComponentId, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery> WorldQuery for (F0, F1)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery> WorldQuery for (F0, F1)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery> WorldQuery for (F0, F1, F2)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery> WorldQuery for (F0, F1, F2)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery> WorldQuery for (F0, F1, F2, F3)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery> WorldQuery for (F0, F1, F2, F3)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>, <F3 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>, <F3 as WorldQuery>::Fetch<'w>, <F4 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>, <F3 as WorldQuery>::Fetch<'w>, <F4 as WorldQuery>::Fetch<'w>, <F5 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>, <F3 as WorldQuery>::Fetch<'w>, <F4 as WorldQuery>::Fetch<'w>, <F5 as WorldQuery>::Fetch<'w>, <F6 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>, <F3 as WorldQuery>::Fetch<'w>, <F4 as WorldQuery>::Fetch<'w>, <F5 as WorldQuery>::Fetch<'w>, <F6 as WorldQuery>::Fetch<'w>, <F7 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>, <F3 as WorldQuery>::Fetch<'w>, <F4 as WorldQuery>::Fetch<'w>, <F5 as WorldQuery>::Fetch<'w>, <F6 as WorldQuery>::Fetch<'w>, <F7 as WorldQuery>::Fetch<'w>, <F8 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>, <F3 as WorldQuery>::Fetch<'w>, <F4 as WorldQuery>::Fetch<'w>, <F5 as WorldQuery>::Fetch<'w>, <F6 as WorldQuery>::Fetch<'w>, <F7 as WorldQuery>::Fetch<'w>, <F8 as WorldQuery>::Fetch<'w>, <F9 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>, <F3 as WorldQuery>::Fetch<'w>, <F4 as WorldQuery>::Fetch<'w>, <F5 as WorldQuery>::Fetch<'w>, <F6 as WorldQuery>::Fetch<'w>, <F7 as WorldQuery>::Fetch<'w>, <F8 as WorldQuery>::Fetch<'w>, <F9 as WorldQuery>::Fetch<'w>, <F10 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>, <F3 as WorldQuery>::Fetch<'w>, <F4 as WorldQuery>::Fetch<'w>, <F5 as WorldQuery>::Fetch<'w>, <F6 as WorldQuery>::Fetch<'w>, <F7 as WorldQuery>::Fetch<'w>, <F8 as WorldQuery>::Fetch<'w>, <F9 as WorldQuery>::Fetch<'w>, <F10 as WorldQuery>::Fetch<'w>, <F11 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State, <F11 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery, F12: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery, F12: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>, <F3 as WorldQuery>::Fetch<'w>, <F4 as WorldQuery>::Fetch<'w>, <F5 as WorldQuery>::Fetch<'w>, <F6 as WorldQuery>::Fetch<'w>, <F7 as WorldQuery>::Fetch<'w>, <F8 as WorldQuery>::Fetch<'w>, <F9 as WorldQuery>::Fetch<'w>, <F10 as WorldQuery>::Fetch<'w>, <F11 as WorldQuery>::Fetch<'w>, <F12 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State, <F11 as WorldQuery>::State, <F12 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery, F12: WorldQuery, F13: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery, F12: WorldQuery, F13: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>, <F3 as WorldQuery>::Fetch<'w>, <F4 as WorldQuery>::Fetch<'w>, <F5 as WorldQuery>::Fetch<'w>, <F6 as WorldQuery>::Fetch<'w>, <F7 as WorldQuery>::Fetch<'w>, <F8 as WorldQuery>::Fetch<'w>, <F9 as WorldQuery>::Fetch<'w>, <F10 as WorldQuery>::Fetch<'w>, <F11 as WorldQuery>::Fetch<'w>, <F12 as WorldQuery>::Fetch<'w>, <F13 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State, <F11 as WorldQuery>::State, <F12 as WorldQuery>::State, <F13 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery, F12: WorldQuery, F13: WorldQuery, F14: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery, F12: WorldQuery, F13: WorldQuery, F14: WorldQuery> WorldQuery for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F0 as WorldQuery>::Fetch<'w>, <F1 as WorldQuery>::Fetch<'w>, <F2 as WorldQuery>::Fetch<'w>, <F3 as WorldQuery>::Fetch<'w>, <F4 as WorldQuery>::Fetch<'w>, <F5 as WorldQuery>::Fetch<'w>, <F6 as WorldQuery>::Fetch<'w>, <F7 as WorldQuery>::Fetch<'w>, <F8 as WorldQuery>::Fetch<'w>, <F9 as WorldQuery>::Fetch<'w>, <F10 as WorldQuery>::Fetch<'w>, <F11 as WorldQuery>::Fetch<'w>, <F12 as WorldQuery>::Fetch<'w>, <F13 as WorldQuery>::Fetch<'w>, <F14 as WorldQuery>::Fetch<'w>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State, <F11 as WorldQuery>::State, <F12 as WorldQuery>::State, <F13 as WorldQuery>::State, <F14 as WorldQuery>::State)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<F: WorldQuery> WorldQuery for (F,)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
impl<F: WorldQuery> WorldQuery for (F,)
SAFETY:
fetch accesses are the conjunction of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access adds all With and Without filters from the subqueries.
This is sound because matches_component_set always returns false if any the subqueries’ implementations return false.
const IS_DENSE: bool
type Fetch<'w> = (<F as WorldQuery>::Fetch<'w>,)
type State = (<F as WorldQuery>::State,)
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s Self::State, last_run: Tick, this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut Self::Fetch<'w>, state: &'s Self::State, table: &'w Table, )
fn update_component_access(state: &Self::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> Self::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &Self::State, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<T: Component> WorldQuery for &T
SAFETY:
fetch accesses a single component in a readonly way.
This is sound because update_component_access adds read access for that component and panic when appropriate.
update_component_access adds a With filter for a component.
This is sound because matches_component_set returns whether the set contains that component.
impl<T: Component> WorldQuery for &T
SAFETY:
fetch accesses a single component in a readonly way.
This is sound because update_component_access adds read access for that component and panic when appropriate.
update_component_access adds a With filter for a component.
This is sound because matches_component_set returns whether the set contains that component.
const IS_DENSE: bool
type Fetch<'w> = ReadFetch<'w, T>
type State = ComponentId
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, component_id: &ComponentId, _last_run: Tick, _this_run: Tick, ) -> ReadFetch<'w, T>
unsafe fn set_archetype<'w>( fetch: &mut ReadFetch<'w, T>, component_id: &ComponentId, _archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w>( fetch: &mut ReadFetch<'w, T>, component_id: &ComponentId, table: &'w Table, )
fn update_component_access( component_id: &ComponentId, access: &mut FilteredAccess, )
fn init_state(world: &mut World) -> ComponentId
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( state: &ComponentId, set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<T: WorldQuery> WorldQuery for Option<T>
SAFETY:
fetch might access any components that T accesses.
This is sound because update_component_access adds the same accesses as T.
Filters are unchanged.
impl<T: WorldQuery> WorldQuery for Option<T>
SAFETY:
fetch might access any components that T accesses.
This is sound because update_component_access adds the same accesses as T.
Filters are unchanged.
const IS_DENSE: bool = T::IS_DENSE
type Fetch<'w> = OptionFetch<'w, T>
type State = <T as WorldQuery>::State
fn shrink_fetch<'wlong: 'wshort, 'wshort>( fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( world: UnsafeWorldCell<'w>, state: &'s T::State, last_run: Tick, this_run: Tick, ) -> OptionFetch<'w, T>
unsafe fn set_archetype<'w, 's>( fetch: &mut OptionFetch<'w, T>, state: &'s T::State, archetype: &'w Archetype, table: &'w Table, )
unsafe fn set_table<'w, 's>( fetch: &mut OptionFetch<'w, T>, state: &'s T::State, table: &'w Table, )
fn update_component_access(state: &T::State, access: &mut FilteredAccess)
fn init_state(world: &mut World) -> T::State
fn get_state(components: &Components) -> Option<Self::State>
fn matches_component_set( _state: &T::State, _set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Source§impl<T: ?Sized> WorldQuery for PhantomData<T>
SAFETY:
update_component_access does nothing.
This is sound because fetch does not access components.
impl<T: ?Sized> WorldQuery for PhantomData<T>
SAFETY:
update_component_access does nothing.
This is sound because fetch does not access components.
const IS_DENSE: bool = true
type Fetch<'w> = ()
type State = ()
fn shrink_fetch<'wlong: 'wshort, 'wshort>( _fetch: Self::Fetch<'wlong>, ) -> Self::Fetch<'wshort>
unsafe fn init_fetch<'w, 's>( _world: UnsafeWorldCell<'w>, _state: &'s Self::State, _last_run: Tick, _this_run: Tick, ) -> Self::Fetch<'w>
unsafe fn set_archetype<'w, 's>( _fetch: &mut Self::Fetch<'w>, _state: &'s Self::State, _archetype: &'w Archetype, _table: &'w Table, )
unsafe fn set_table<'w, 's>( _fetch: &mut Self::Fetch<'w>, _state: &'s Self::State, _table: &'w Table, )
fn update_component_access(_state: &Self::State, _access: &mut FilteredAccess)
fn init_state(_world: &mut World) -> Self::State
fn get_state(_components: &Components) -> Option<Self::State>
fn matches_component_set( _state: &Self::State, _set_contains_id: &impl Fn(ComponentId) -> bool, ) -> bool
Implementors§
Source§impl WorldQuery for &Archetype
SAFETY:
update_component_access does nothing.
This is sound because fetch does not access components.
impl WorldQuery for &Archetype
SAFETY:
update_component_access does nothing.
This is sound because fetch does not access components.
Source§impl WorldQuery for Entity
SAFETY:
update_component_access does nothing.
This is sound because fetch does not access components.
impl WorldQuery for Entity
SAFETY:
update_component_access does nothing.
This is sound because fetch does not access components.
Source§impl WorldQuery for EntityLocation
SAFETY:
update_component_access does nothing.
This is sound because fetch does not access components.
impl WorldQuery for EntityLocation
SAFETY:
update_component_access does nothing.
This is sound because fetch does not access components.
Source§impl WorldQuery for NameOrEntity
impl WorldQuery for NameOrEntity
Source§impl WorldQuery for FilteredEntityMut<'_, '_>
SAFETY: The accesses of Self::ReadOnly are a subset of the accesses of Self
impl WorldQuery for FilteredEntityMut<'_, '_>
SAFETY: The accesses of Self::ReadOnly are a subset of the accesses of Self
Source§impl WorldQuery for FilteredEntityRef<'_, '_>
SAFETY: The accesses of Self::ReadOnly are a subset of the accesses of Self
impl WorldQuery for FilteredEntityRef<'_, '_>
SAFETY: The accesses of Self::ReadOnly are a subset of the accesses of Self
Source§impl WorldQuery for AnyOf<()>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl WorldQuery for AnyOf<()>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
Source§impl WorldQuery for Or<()>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl WorldQuery for Or<()>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
Source§impl WorldQuery for SpawnDetails
impl WorldQuery for SpawnDetails
Source§impl WorldQuery for Spawned
impl WorldQuery for Spawned
Source§impl<'__w, T: Component> WorldQuery for Mut<'__w, T>
When Mut<T> is used in a query, it will be converted to Ref<T> when transformed into its read-only form, providing access to change detection methods.
impl<'__w, T: Component> WorldQuery for Mut<'__w, T>
When Mut<T> is used in a query, it will be converted to Ref<T> when transformed into its read-only form, providing access to change detection methods.
By contrast &mut T will result in a Mut<T> item in mutable form to record mutations, but result in a bare &T in read-only form.
SAFETY:
fetch accesses a single component mutably.
This is sound because update_component_access adds write access for that component and panic when appropriate.
update_component_access adds a With filter for a component.
This is sound because matches_component_set returns whether the set contains that component.
Source§impl<'__w, T: Component> WorldQuery for Ref<'__w, T>
SAFETY:
fetch accesses a single component in a readonly way.
This is sound because update_component_access adds read access for that component and panic when appropriate.
update_component_access adds a With filter for a component.
This is sound because matches_component_set returns whether the set contains that component.
impl<'__w, T: Component> WorldQuery for Ref<'__w, T>
SAFETY:
fetch accesses a single component in a readonly way.
This is sound because update_component_access adds read access for that component and panic when appropriate.
update_component_access adds a With filter for a component.
This is sound because matches_component_set returns whether the set contains that component.
Source§impl<'a> WorldQuery for EntityMut<'a>
SAFETY: The accesses of Self::ReadOnly are a subset of the accesses of Self
impl<'a> WorldQuery for EntityMut<'a>
SAFETY: The accesses of Self::ReadOnly are a subset of the accesses of Self
Source§impl<'a> WorldQuery for EntityRef<'a>
SAFETY:
fetch accesses all components in a readonly way.
This is sound because update_component_access sets read access for all components and panic when appropriate.
Filters are unchanged.
impl<'a> WorldQuery for EntityRef<'a>
SAFETY:
fetch accesses all components in a readonly way.
This is sound because update_component_access sets read access for all components and panic when appropriate.
Filters are unchanged.
Source§impl<'a, 'b, B> WorldQuery for EntityMutExcept<'a, 'b, B>where
B: Bundle,
SAFETY: EntityMutExcept guards access to all components in the bundle B
and populates Access values so that queries that conflict with this access
are rejected.
impl<'a, 'b, B> WorldQuery for EntityMutExcept<'a, 'b, B>where
B: Bundle,
SAFETY: EntityMutExcept guards access to all components in the bundle B
and populates Access values so that queries that conflict with this access
are rejected.
Source§impl<'a, 'b, B> WorldQuery for EntityRefExcept<'a, 'b, B>where
B: Bundle,
SAFETY: EntityRefExcept guards access to all components in the bundle B
and populates Access values so that queries that conflict with this access
are rejected.
impl<'a, 'b, B> WorldQuery for EntityRefExcept<'a, 'b, B>where
B: Bundle,
SAFETY: EntityRefExcept guards access to all components in the bundle B
and populates Access values so that queries that conflict with this access
are rejected.
Source§impl<F0: QueryFilter, F1: QueryFilter> WorldQuery for Or<(F0, F1)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter> WorldQuery for Or<(F0, F1)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter> WorldQuery for Or<(F0, F1, F2)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter> WorldQuery for Or<(F0, F1, F2)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = (OrFetch<'w, F0>, OrFetch<'w, F1>, OrFetch<'w, F2>, OrFetch<'w, F3>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State)
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = (OrFetch<'w, F0>, OrFetch<'w, F1>, OrFetch<'w, F2>, OrFetch<'w, F3>, OrFetch<'w, F4>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State)
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = (OrFetch<'w, F0>, OrFetch<'w, F1>, OrFetch<'w, F2>, OrFetch<'w, F3>, OrFetch<'w, F4>, OrFetch<'w, F5>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State)
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = (OrFetch<'w, F0>, OrFetch<'w, F1>, OrFetch<'w, F2>, OrFetch<'w, F3>, OrFetch<'w, F4>, OrFetch<'w, F5>, OrFetch<'w, F6>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State)
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = (OrFetch<'w, F0>, OrFetch<'w, F1>, OrFetch<'w, F2>, OrFetch<'w, F3>, OrFetch<'w, F4>, OrFetch<'w, F5>, OrFetch<'w, F6>, OrFetch<'w, F7>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State)
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = (OrFetch<'w, F0>, OrFetch<'w, F1>, OrFetch<'w, F2>, OrFetch<'w, F3>, OrFetch<'w, F4>, OrFetch<'w, F5>, OrFetch<'w, F6>, OrFetch<'w, F7>, OrFetch<'w, F8>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State)
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter, F9: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter, F9: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = (OrFetch<'w, F0>, OrFetch<'w, F1>, OrFetch<'w, F2>, OrFetch<'w, F3>, OrFetch<'w, F4>, OrFetch<'w, F5>, OrFetch<'w, F6>, OrFetch<'w, F7>, OrFetch<'w, F8>, OrFetch<'w, F9>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State)
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter, F9: QueryFilter, F10: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter, F9: QueryFilter, F10: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = (OrFetch<'w, F0>, OrFetch<'w, F1>, OrFetch<'w, F2>, OrFetch<'w, F3>, OrFetch<'w, F4>, OrFetch<'w, F5>, OrFetch<'w, F6>, OrFetch<'w, F7>, OrFetch<'w, F8>, OrFetch<'w, F9>, OrFetch<'w, F10>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State)
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter, F9: QueryFilter, F10: QueryFilter, F11: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter, F9: QueryFilter, F10: QueryFilter, F11: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = (OrFetch<'w, F0>, OrFetch<'w, F1>, OrFetch<'w, F2>, OrFetch<'w, F3>, OrFetch<'w, F4>, OrFetch<'w, F5>, OrFetch<'w, F6>, OrFetch<'w, F7>, OrFetch<'w, F8>, OrFetch<'w, F9>, OrFetch<'w, F10>, OrFetch<'w, F11>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State, <F11 as WorldQuery>::State)
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter, F9: QueryFilter, F10: QueryFilter, F11: QueryFilter, F12: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter, F9: QueryFilter, F10: QueryFilter, F11: QueryFilter, F12: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = (OrFetch<'w, F0>, OrFetch<'w, F1>, OrFetch<'w, F2>, OrFetch<'w, F3>, OrFetch<'w, F4>, OrFetch<'w, F5>, OrFetch<'w, F6>, OrFetch<'w, F7>, OrFetch<'w, F8>, OrFetch<'w, F9>, OrFetch<'w, F10>, OrFetch<'w, F11>, OrFetch<'w, F12>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State, <F11 as WorldQuery>::State, <F12 as WorldQuery>::State)
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter, F9: QueryFilter, F10: QueryFilter, F11: QueryFilter, F12: QueryFilter, F13: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter, F9: QueryFilter, F10: QueryFilter, F11: QueryFilter, F12: QueryFilter, F13: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = (OrFetch<'w, F0>, OrFetch<'w, F1>, OrFetch<'w, F2>, OrFetch<'w, F3>, OrFetch<'w, F4>, OrFetch<'w, F5>, OrFetch<'w, F6>, OrFetch<'w, F7>, OrFetch<'w, F8>, OrFetch<'w, F9>, OrFetch<'w, F10>, OrFetch<'w, F11>, OrFetch<'w, F12>, OrFetch<'w, F13>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State, <F11 as WorldQuery>::State, <F12 as WorldQuery>::State, <F13 as WorldQuery>::State)
Source§impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter, F9: QueryFilter, F10: QueryFilter, F11: QueryFilter, F12: QueryFilter, F13: QueryFilter, F14: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: QueryFilter, F1: QueryFilter, F2: QueryFilter, F3: QueryFilter, F4: QueryFilter, F5: QueryFilter, F6: QueryFilter, F7: QueryFilter, F8: QueryFilter, F9: QueryFilter, F10: QueryFilter, F11: QueryFilter, F12: QueryFilter, F13: QueryFilter, F14: QueryFilter> WorldQuery for Or<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = (OrFetch<'w, F0>, OrFetch<'w, F1>, OrFetch<'w, F2>, OrFetch<'w, F3>, OrFetch<'w, F4>, OrFetch<'w, F5>, OrFetch<'w, F6>, OrFetch<'w, F7>, OrFetch<'w, F8>, OrFetch<'w, F9>, OrFetch<'w, F10>, OrFetch<'w, F11>, OrFetch<'w, F12>, OrFetch<'w, F13>, OrFetch<'w, F14>)
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State, <F11 as WorldQuery>::State, <F12 as WorldQuery>::State, <F13 as WorldQuery>::State, <F14 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery> WorldQuery for AnyOf<(F0, F1)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery> WorldQuery for AnyOf<(F0, F1)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool), (<F3 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool), (<F3 as WorldQuery>::Fetch<'w>, bool), (<F4 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool), (<F3 as WorldQuery>::Fetch<'w>, bool), (<F4 as WorldQuery>::Fetch<'w>, bool), (<F5 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool), (<F3 as WorldQuery>::Fetch<'w>, bool), (<F4 as WorldQuery>::Fetch<'w>, bool), (<F5 as WorldQuery>::Fetch<'w>, bool), (<F6 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool), (<F3 as WorldQuery>::Fetch<'w>, bool), (<F4 as WorldQuery>::Fetch<'w>, bool), (<F5 as WorldQuery>::Fetch<'w>, bool), (<F6 as WorldQuery>::Fetch<'w>, bool), (<F7 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool), (<F3 as WorldQuery>::Fetch<'w>, bool), (<F4 as WorldQuery>::Fetch<'w>, bool), (<F5 as WorldQuery>::Fetch<'w>, bool), (<F6 as WorldQuery>::Fetch<'w>, bool), (<F7 as WorldQuery>::Fetch<'w>, bool), (<F8 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool), (<F3 as WorldQuery>::Fetch<'w>, bool), (<F4 as WorldQuery>::Fetch<'w>, bool), (<F5 as WorldQuery>::Fetch<'w>, bool), (<F6 as WorldQuery>::Fetch<'w>, bool), (<F7 as WorldQuery>::Fetch<'w>, bool), (<F8 as WorldQuery>::Fetch<'w>, bool), (<F9 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool), (<F3 as WorldQuery>::Fetch<'w>, bool), (<F4 as WorldQuery>::Fetch<'w>, bool), (<F5 as WorldQuery>::Fetch<'w>, bool), (<F6 as WorldQuery>::Fetch<'w>, bool), (<F7 as WorldQuery>::Fetch<'w>, bool), (<F8 as WorldQuery>::Fetch<'w>, bool), (<F9 as WorldQuery>::Fetch<'w>, bool), (<F10 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool), (<F3 as WorldQuery>::Fetch<'w>, bool), (<F4 as WorldQuery>::Fetch<'w>, bool), (<F5 as WorldQuery>::Fetch<'w>, bool), (<F6 as WorldQuery>::Fetch<'w>, bool), (<F7 as WorldQuery>::Fetch<'w>, bool), (<F8 as WorldQuery>::Fetch<'w>, bool), (<F9 as WorldQuery>::Fetch<'w>, bool), (<F10 as WorldQuery>::Fetch<'w>, bool), (<F11 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State, <F11 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery, F12: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery, F12: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool), (<F3 as WorldQuery>::Fetch<'w>, bool), (<F4 as WorldQuery>::Fetch<'w>, bool), (<F5 as WorldQuery>::Fetch<'w>, bool), (<F6 as WorldQuery>::Fetch<'w>, bool), (<F7 as WorldQuery>::Fetch<'w>, bool), (<F8 as WorldQuery>::Fetch<'w>, bool), (<F9 as WorldQuery>::Fetch<'w>, bool), (<F10 as WorldQuery>::Fetch<'w>, bool), (<F11 as WorldQuery>::Fetch<'w>, bool), (<F12 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State, <F11 as WorldQuery>::State, <F12 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery, F12: WorldQuery, F13: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery, F12: WorldQuery, F13: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool), (<F3 as WorldQuery>::Fetch<'w>, bool), (<F4 as WorldQuery>::Fetch<'w>, bool), (<F5 as WorldQuery>::Fetch<'w>, bool), (<F6 as WorldQuery>::Fetch<'w>, bool), (<F7 as WorldQuery>::Fetch<'w>, bool), (<F8 as WorldQuery>::Fetch<'w>, bool), (<F9 as WorldQuery>::Fetch<'w>, bool), (<F10 as WorldQuery>::Fetch<'w>, bool), (<F11 as WorldQuery>::Fetch<'w>, bool), (<F12 as WorldQuery>::Fetch<'w>, bool), (<F13 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State, <F11 as WorldQuery>::State, <F12 as WorldQuery>::State, <F13 as WorldQuery>::State)
Source§impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery, F12: WorldQuery, F13: WorldQuery, F14: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F0: WorldQuery, F1: WorldQuery, F2: WorldQuery, F3: WorldQuery, F4: WorldQuery, F5: WorldQuery, F6: WorldQuery, F7: WorldQuery, F8: WorldQuery, F9: WorldQuery, F10: WorldQuery, F11: WorldQuery, F12: WorldQuery, F13: WorldQuery, F14: WorldQuery> WorldQuery for AnyOf<(F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
const IS_DENSE: bool
type Fetch<'w> = ((<F0 as WorldQuery>::Fetch<'w>, bool), (<F1 as WorldQuery>::Fetch<'w>, bool), (<F2 as WorldQuery>::Fetch<'w>, bool), (<F3 as WorldQuery>::Fetch<'w>, bool), (<F4 as WorldQuery>::Fetch<'w>, bool), (<F5 as WorldQuery>::Fetch<'w>, bool), (<F6 as WorldQuery>::Fetch<'w>, bool), (<F7 as WorldQuery>::Fetch<'w>, bool), (<F8 as WorldQuery>::Fetch<'w>, bool), (<F9 as WorldQuery>::Fetch<'w>, bool), (<F10 as WorldQuery>::Fetch<'w>, bool), (<F11 as WorldQuery>::Fetch<'w>, bool), (<F12 as WorldQuery>::Fetch<'w>, bool), (<F13 as WorldQuery>::Fetch<'w>, bool), (<F14 as WorldQuery>::Fetch<'w>, bool))
type State = (<F0 as WorldQuery>::State, <F1 as WorldQuery>::State, <F2 as WorldQuery>::State, <F3 as WorldQuery>::State, <F4 as WorldQuery>::State, <F5 as WorldQuery>::State, <F6 as WorldQuery>::State, <F7 as WorldQuery>::State, <F8 as WorldQuery>::State, <F9 as WorldQuery>::State, <F10 as WorldQuery>::State, <F11 as WorldQuery>::State, <F12 as WorldQuery>::State, <F13 as WorldQuery>::State, <F14 as WorldQuery>::State)
Source§impl<F: QueryFilter> WorldQuery for Or<(F,)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F: QueryFilter> WorldQuery for Or<(F,)>
SAFETY:
QueryFilter::filter_fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replace the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
Source§impl<F: WorldQuery> WorldQuery for AnyOf<(F,)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
impl<F: WorldQuery> WorldQuery for AnyOf<(F,)>
SAFETY:
fetch accesses are a subset of the subqueries’ accesses
This is sound because update_component_access adds accesses according to the implementations of all the subqueries.
update_component_access replaces the filters with a disjunction where every element is a conjunction of the previous filters and the filters of one of the subqueries.
This is sound because matches_component_set returns a disjunction of the results of the subqueries’ implementations.
Source§impl<T: Component> WorldQuery for Added<T>
SAFETY:
QueryFilter::filter_fetch accesses a single component in a readonly way.
This is sound because update_component_access adds read access for that component and panics when appropriate.
update_component_access adds a With filter for a component.
This is sound because matches_component_set returns whether the set contains that component.
impl<T: Component> WorldQuery for Added<T>
SAFETY:
QueryFilter::filter_fetch accesses a single component in a readonly way.
This is sound because update_component_access adds read access for that component and panics when appropriate.
update_component_access adds a With filter for a component.
This is sound because matches_component_set returns whether the set contains that component.
Source§impl<T: Component> WorldQuery for Allow<T>
SAFETY:
update_component_access does not add any accesses.
This is sound because QueryFilter::filter_fetch does not access any components.
update_component_access adds an archetypal filter for T.
This is sound because it doesn’t affect the query
impl<T: Component> WorldQuery for Allow<T>
SAFETY:
update_component_access does not add any accesses.
This is sound because QueryFilter::filter_fetch does not access any components.
update_component_access adds an archetypal filter for T.
This is sound because it doesn’t affect the query
Source§impl<T: Component> WorldQuery for Changed<T>
SAFETY:
fetch accesses a single component in a readonly way.
This is sound because update_component_access add read access for that component and panics when appropriate.
update_component_access adds a With filter for a component.
This is sound because matches_component_set returns whether the set contains that component.
impl<T: Component> WorldQuery for Changed<T>
SAFETY:
fetch accesses a single component in a readonly way.
This is sound because update_component_access add read access for that component and panics when appropriate.
update_component_access adds a With filter for a component.
This is sound because matches_component_set returns whether the set contains that component.
Source§impl<T: Component> WorldQuery for Has<T>
SAFETY:
update_component_access does nothing.
This is sound because fetch does not access components.
impl<T: Component> WorldQuery for Has<T>
SAFETY:
update_component_access does nothing.
This is sound because fetch does not access components.
Source§impl<T: Component> WorldQuery for With<T>
SAFETY:
update_component_access does not add any accesses.
This is sound because QueryFilter::filter_fetch does not access any components.
update_component_access adds a With filter for T.
This is sound because matches_component_set returns whether the set contains the component.
impl<T: Component> WorldQuery for With<T>
SAFETY:
update_component_access does not add any accesses.
This is sound because QueryFilter::filter_fetch does not access any components.
update_component_access adds a With filter for T.
This is sound because matches_component_set returns whether the set contains the component.
Source§impl<T: Component> WorldQuery for Without<T>
SAFETY:
update_component_access does not add any accesses.
This is sound because QueryFilter::filter_fetch does not access any components.
update_component_access adds a Without filter for T.
This is sound because matches_component_set returns whether the set does not contain the component.
impl<T: Component> WorldQuery for Without<T>
SAFETY:
update_component_access does not add any accesses.
This is sound because QueryFilter::filter_fetch does not access any components.
update_component_access adds a Without filter for T.
This is sound because matches_component_set returns whether the set does not contain the component.