diff --git a/crates/bevy_ecs/src/label.rs b/crates/bevy_ecs/src/label.rs index 9d3f6f838d..b64b0cbf14 100644 --- a/crates/bevy_ecs/src/label.rs +++ b/crates/bevy_ecs/src/label.rs @@ -150,6 +150,12 @@ macro_rules! define_label { } } + impl ::core::borrow::Borrow for $crate::intern::Interned { + fn borrow(&self) -> &dyn $label_trait_name { + &**self + } + } + impl $crate::intern::Internable for dyn $label_trait_name { fn leak(&self) -> &'static Self { $crate::label::Box::leak(self.dyn_clone()) diff --git a/crates/bevy_ecs/src/schedule/schedule.rs b/crates/bevy_ecs/src/schedule/schedule.rs index ed40f21fbd..8588bdd06c 100644 --- a/crates/bevy_ecs/src/schedule/schedule.rs +++ b/crates/bevy_ecs/src/schedule/schedule.rs @@ -841,7 +841,7 @@ impl ScheduleGraph { /// Returns `true` if the given system set is part of the graph. Otherwise, returns `false`. pub fn contains_set(&self, set: impl SystemSet) -> bool { - self.system_sets.ids.contains_key(&set.intern()) + self.system_sets.ids.contains_key(&set as &dyn SystemSet) } /// Returns the system at the given [`NodeId`].