From 7c63c663536a62f699ce55da9b57038fff3d963b Mon Sep 17 00:00:00 2001 From: JoJoJet <21144246+JoJoJet@users.noreply.github.com> Date: Fri, 10 Feb 2023 21:24:18 -0500 Subject: [PATCH 1/3] fix `last_changed` --- crates/bevy_ecs/src/change_detection.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/bevy_ecs/src/change_detection.rs b/crates/bevy_ecs/src/change_detection.rs index e54ea3d48b43b..8b9d514e74bdf 100644 --- a/crates/bevy_ecs/src/change_detection.rs +++ b/crates/bevy_ecs/src/change_detection.rs @@ -667,7 +667,7 @@ impl<'a> DetectChanges for MutUntyped<'a> { #[inline] fn last_changed(&self) -> u32 { - self.ticks.last_change_tick + self.ticks.changed.tick } } @@ -681,7 +681,7 @@ impl<'a> DetectChangesMut for MutUntyped<'a> { #[inline] fn set_last_changed(&mut self, last_change_tick: u32) { - self.ticks.last_change_tick = last_change_tick; + self.ticks.changed.set_changed(last_change_tick); } #[inline] From 4c6fe8eeb659cf18c043ab93cd65f8d8cea75fe3 Mon Sep 17 00:00:00 2001 From: JoJoJet <21144246+JoJoJet@users.noreply.github.com> Date: Fri, 10 Feb 2023 21:24:29 -0500 Subject: [PATCH 2/3] remove outdated warnings --- crates/bevy_ecs/src/change_detection.rs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/crates/bevy_ecs/src/change_detection.rs b/crates/bevy_ecs/src/change_detection.rs index 8b9d514e74bdf..1e260bcaedbbb 100644 --- a/crates/bevy_ecs/src/change_detection.rs +++ b/crates/bevy_ecs/src/change_detection.rs @@ -242,9 +242,6 @@ macro_rules! impl_methods { /// This is useful if you have `&mut #[doc = stringify!($name)] /// `, but you need a `Mut`. - /// - /// Note that calling [`DetectChangesMut::set_last_changed`] on the returned value - /// will not affect the original. pub fn reborrow(&mut self) -> Mut<'_, $target> { Mut { value: self.value, @@ -607,9 +604,6 @@ impl<'a> MutUntyped<'a> { /// Returns a [`MutUntyped`] with a smaller lifetime. /// This is useful if you have `&mut MutUntyped`, but you need a `MutUntyped`. - /// - /// Note that calling [`DetectChangesMut::set_last_changed`] on the returned value - /// will not affect the original. #[inline] pub fn reborrow(&mut self) -> MutUntyped { MutUntyped { From 4f51c99c42cb892c96f7cde063c30732fd9bb715 Mon Sep 17 00:00:00 2001 From: JoJoJet <21144246+JoJoJet@users.noreply.github.com> Date: Fri, 10 Feb 2023 21:30:14 -0500 Subject: [PATCH 3/3] make the parameter name for `set_last_changed` more accurate --- crates/bevy_ecs/src/change_detection.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/bevy_ecs/src/change_detection.rs b/crates/bevy_ecs/src/change_detection.rs index 1e260bcaedbbb..b77abaa6cb25a 100644 --- a/crates/bevy_ecs/src/change_detection.rs +++ b/crates/bevy_ecs/src/change_detection.rs @@ -185,10 +185,10 @@ macro_rules! change_detection_mut_impl { } #[inline] - fn set_last_changed(&mut self, last_change_tick: u32) { + fn set_last_changed(&mut self, last_changed: u32) { self.ticks .changed - .set_changed(last_change_tick); + .set_changed(last_changed); } #[inline] @@ -674,8 +674,8 @@ impl<'a> DetectChangesMut for MutUntyped<'a> { } #[inline] - fn set_last_changed(&mut self, last_change_tick: u32) { - self.ticks.changed.set_changed(last_change_tick); + fn set_last_changed(&mut self, last_changed: u32) { + self.ticks.changed.set_changed(last_changed); } #[inline]