diff --git a/crates/bevy_ecs/src/query/access.rs b/crates/bevy_ecs/src/query/access.rs index e74d22e483e5c1..a28e6df23ef837 100644 --- a/crates/bevy_ecs/src/query/access.rs +++ b/crates/bevy_ecs/src/query/access.rs @@ -438,6 +438,29 @@ impl Default for FilteredAccessSet { mod tests { use crate::query::{Access, FilteredAccess, FilteredAccessSet}; + #[test] + fn read_all_access_conflicts() { + // read_all / single write + let mut access_a = Access::::default(); + access_a.grow(10); + access_a.add_write(0); + + let mut access_b = Access::::default(); + access_b.read_all(); + + assert!(!access_b.is_compatible(&access_a)); + + // read_all / read_all + let mut access_a = Access::::default(); + access_a.grow(10); + access_a.read_all(); + + let mut access_b = Access::::default(); + access_b.read_all(); + + assert!(access_b.is_compatible(&access_a)); + } + #[test] fn access_get_conflicts() { let mut access_a = Access::::default();