Skip to content

Commit ea99e96

Browse files
committed
Implement StageLabel for Box<dyn StageLabel>
1 parent 3a20462 commit ea99e96

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

crates/bevy_ecs/src/schedule/label.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,3 +113,9 @@ impl_label!(StageLabel);
113113
impl_label!(SystemLabel);
114114
impl_label!(AmbiguitySetLabel);
115115
impl_label!(RunCriteriaLabel);
116+
117+
impl StageLabel for Box<dyn StageLabel> {
118+
fn dyn_clone(&self) -> Box<dyn StageLabel> {
119+
self.as_ref().dyn_clone()
120+
}
121+
}

crates/bevy_ecs/src/schedule/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ impl Schedule {
105105
.stage_order
106106
.iter()
107107
.enumerate()
108-
.find(|(_i, stage_label)| &***stage_label == target)
108+
.find(|(_i, stage_label)| stage_label.dyn_clone() == target.dyn_clone())
109109
.map(|(i, _)| i)
110110
.unwrap_or_else(|| panic!("Target stage does not exist: {:?}.", target));
111111

@@ -129,7 +129,7 @@ impl Schedule {
129129
.stage_order
130130
.iter()
131131
.enumerate()
132-
.find(|(_i, stage_label)| &***stage_label == target)
132+
.find(|(_i, stage_label)| stage_label.dyn_clone() == target.dyn_clone())
133133
.map(|(i, _)| i)
134134
.unwrap_or_else(|| panic!("Target stage does not exist: {:?}.", target));
135135

0 commit comments

Comments
 (0)