Skip to content

Commit 3bce601

Browse files
authored
Remove generic parameter from Access, since it's always ComponentId (#20288)
# Objective Simplify code that uses `Access`. Following #19143, we no longer use `Access<ArchetypeComponentId>` anywhere, only `Access<ComponentId>`. We can simplify the code by removing the generic and having `Access` only use `ComponentId`. ## Solution Remove the generic parameter from `Access`, `AccessFilters`, `FilteredAccess`, and `FilteredAccessSet`, replacing it with `ComponentId`. Also remove the parameter from `FormattedBitSet`, but use plain `usize` to make the output more concise.
1 parent 8417aea commit 3bce601

32 files changed

+430
-505
lines changed

crates/bevy_asset/src/asset_changed.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ unsafe impl<A: AsAssetId> WorldQuery for AssetChanged<A> {
229229
}
230230

231231
#[inline]
232-
fn update_component_access(state: &Self::State, access: &mut FilteredAccess<ComponentId>) {
232+
fn update_component_access(state: &Self::State, access: &mut FilteredAccess) {
233233
<&A>::update_component_access(&state.asset_id, access);
234234
access.add_resource_read(state.resource_id);
235235
}

crates/bevy_ecs/macros/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ pub fn derive_system_param(input: TokenStream) -> TokenStream {
453453
}
454454
}
455455

456-
fn init_access(state: &Self::State, system_meta: &mut #path::system::SystemMeta, component_access_set: &mut #path::query::FilteredAccessSet<#path::component::ComponentId>, world: &mut #path::world::World) {
456+
fn init_access(state: &Self::State, system_meta: &mut #path::system::SystemMeta, component_access_set: &mut #path::query::FilteredAccessSet, world: &mut #path::world::World) {
457457
<#fields_alias::<'_, '_, #punctuated_generic_idents> as #path::system::SystemParam>::init_access(&state.state, system_meta, component_access_set, world);
458458
}
459459

crates/bevy_ecs/macros/src/query_data.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -281,8 +281,8 @@ pub fn derive_query_data_impl(input: TokenStream) -> TokenStream {
281281

282282
fn provide_extra_access(
283283
state: &mut Self::State,
284-
access: &mut #path::query::Access<#path::component::ComponentId>,
285-
available_access: &#path::query::Access<#path::component::ComponentId>,
284+
access: &mut #path::query::Access,
285+
available_access: &#path::query::Access,
286286
) {
287287
#(<#field_types>::provide_extra_access(&mut state.#named_field_idents, access, available_access);)*
288288
}
@@ -339,8 +339,8 @@ pub fn derive_query_data_impl(input: TokenStream) -> TokenStream {
339339

340340
fn provide_extra_access(
341341
state: &mut Self::State,
342-
access: &mut #path::query::Access<#path::component::ComponentId>,
343-
available_access: &#path::query::Access<#path::component::ComponentId>,
342+
access: &mut #path::query::Access,
343+
available_access: &#path::query::Access,
344344
) {
345345
#(<#field_types>::provide_extra_access(&mut state.#named_field_idents, access, available_access);)*
346346
}

crates/bevy_ecs/macros/src/world_query.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ pub(crate) fn world_query_impl(
152152
#(<#field_types>::set_table(&mut _fetch.#named_field_idents, &_state.#named_field_idents, _table);)*
153153
}
154154

155-
fn update_component_access(state: &Self::State, _access: &mut #path::query::FilteredAccess<#path::component::ComponentId>) {
155+
fn update_component_access(state: &Self::State, _access: &mut #path::query::FilteredAccess) {
156156
#( <#field_types>::update_component_access(&state.#named_field_idents, _access); )*
157157
}
158158

crates/bevy_ecs/src/entity_disabling.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ impl DefaultQueryFilters {
241241
}
242242

243243
/// Modifies the provided [`FilteredAccess`] to include the filters from this [`DefaultQueryFilters`].
244-
pub(super) fn modify_access(&self, component_access: &mut FilteredAccess<ComponentId>) {
244+
pub(super) fn modify_access(&self, component_access: &mut FilteredAccess) {
245245
for component_id in self.disabling_ids() {
246246
if !component_access.contains(component_id) {
247247
component_access.and_without(component_id);
@@ -276,7 +276,7 @@ mod tests {
276276
filters.register_disabling_component(ComponentId::new(1));
277277

278278
// A component access with an unrelated component
279-
let mut component_access = FilteredAccess::<ComponentId>::default();
279+
let mut component_access = FilteredAccess::default();
280280
component_access
281281
.access_mut()
282282
.add_component_read(ComponentId::new(2));

crates/bevy_ecs/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ mod tests {
160160
use crate::{
161161
bundle::Bundle,
162162
change_detection::Ref,
163-
component::{Component, ComponentId},
163+
component::Component,
164164
entity::{Entity, EntityMapper},
165165
entity_disabling::DefaultQueryFilters,
166166
prelude::Or,
@@ -1536,7 +1536,7 @@ mod tests {
15361536
world.remove_resource::<DefaultQueryFilters>();
15371537
let query = world.query_filtered::<&mut A, Changed<B>>();
15381538

1539-
let mut expected = FilteredAccess::<ComponentId>::default();
1539+
let mut expected = FilteredAccess::default();
15401540
let a_id = world.components.get_id(TypeId::of::<A>()).unwrap();
15411541
let b_id = world.components.get_id(TypeId::of::<B>()).unwrap();
15421542
expected.add_component_write(a_id);

crates/bevy_ecs/src/lifecycle.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -632,7 +632,7 @@ unsafe impl<'a> SystemParam for &'a RemovedComponentEvents {
632632
fn init_access(
633633
_state: &Self::State,
634634
_system_meta: &mut SystemMeta,
635-
_component_access_set: &mut FilteredAccessSet<ComponentId>,
635+
_component_access_set: &mut FilteredAccessSet,
636636
_world: &mut World,
637637
) {
638638
}

0 commit comments

Comments
 (0)