diff --git a/benches/benches/bevy_ecs/scheduling/run_criteria.rs b/benches/benches/bevy_ecs/scheduling/run_criteria.rs index 7a6f1e66cde473..52c5fade22e53b 100644 --- a/benches/benches/bevy_ecs/scheduling/run_criteria.rs +++ b/benches/benches/bevy_ecs/scheduling/run_criteria.rs @@ -147,12 +147,7 @@ pub fn run_criteria_yes_with_query(criterion: &mut Criterion) { group.measurement_time(std::time::Duration::from_secs(3)); fn empty() {} fn yes_with_query(query: Query<&TestBool>) -> ShouldRun { - let test_bool = query.single(); - if test_bool.0 { - ShouldRun::Yes - } else { - ShouldRun::No - } + query.single().0.into() } for amount in 0..21 { let mut stage = SystemStage::parallel(); @@ -184,11 +179,7 @@ pub fn run_criteria_yes_with_resource(criterion: &mut Criterion) { group.measurement_time(std::time::Duration::from_secs(3)); fn empty() {} fn yes_with_resource(res: Res) -> ShouldRun { - if res.0 { - ShouldRun::Yes - } else { - ShouldRun::No - } + res.0.into() } for amount in 0..21 { let mut stage = SystemStage::parallel(); diff --git a/crates/bevy_ecs/src/schedule/run_criteria.rs b/crates/bevy_ecs/src/schedule/run_criteria.rs index 6bc7320c357a0b..fb58136508b777 100644 --- a/crates/bevy_ecs/src/schedule/run_criteria.rs +++ b/crates/bevy_ecs/src/schedule/run_criteria.rs @@ -56,6 +56,16 @@ impl ShouldRun { } } +impl From for ShouldRun { + fn from(value: bool) -> Self { + if value { + ShouldRun::Yes + } else { + ShouldRun::No + } + } +} + #[derive(Default)] pub(crate) struct BoxedRunCriteria { criteria_system: Option>, diff --git a/examples/ecs/system_sets.rs b/examples/ecs/system_sets.rs index e463c591e331e5..38395ddf10d239 100644 --- a/examples/ecs/system_sets.rs +++ b/examples/ecs/system_sets.rs @@ -104,11 +104,7 @@ fn run_for_a_second(time: Res