diff --git a/crates/bevy_ecs/src/schedule/set.rs b/crates/bevy_ecs/src/schedule/set.rs index 37e36ac11caac..d1ee7badfaa8e 100644 --- a/crates/bevy_ecs/src/schedule/set.rs +++ b/crates/bevy_ecs/src/schedule/set.rs @@ -9,7 +9,8 @@ use bevy_utils::intern::Interned; pub use bevy_utils::label::DynEq; use crate::system::{ - ExclusiveSystemParamFunction, IsExclusiveFunctionSystem, IsFunctionSystem, SystemParamFunction, + ExclusiveFunctionSystem, ExclusiveSystemParamFunction, FunctionSystem, + IsExclusiveFunctionSystem, IsFunctionSystem, SystemParamFunction, }; define_label!( @@ -167,26 +168,28 @@ impl IntoSystemSet<()> for S { // systems impl IntoSystemSet<(IsFunctionSystem, Marker)> for F where + Marker: 'static, F: SystemParamFunction, { - type Set = SystemTypeSet; + type Set = SystemTypeSet>; #[inline] fn into_system_set(self) -> Self::Set { - SystemTypeSet::new() + SystemTypeSet::>::new() } } // exclusive systems impl IntoSystemSet<(IsExclusiveFunctionSystem, Marker)> for F where + Marker: 'static, F: ExclusiveSystemParamFunction, { - type Set = SystemTypeSet; + type Set = SystemTypeSet>; #[inline] fn into_system_set(self) -> Self::Set { - SystemTypeSet::new() + SystemTypeSet::>::new() } } diff --git a/crates/bevy_ecs/src/system/exclusive_function_system.rs b/crates/bevy_ecs/src/system/exclusive_function_system.rs index b701f8098fcd7..a019330856aec 100644 --- a/crates/bevy_ecs/src/system/exclusive_function_system.rs +++ b/crates/bevy_ecs/src/system/exclusive_function_system.rs @@ -143,7 +143,7 @@ where } fn default_system_sets(&self) -> Vec { - let set = crate::schedule::SystemTypeSet::::new(); + let set = crate::schedule::SystemTypeSet::::new(); vec![set.intern()] } diff --git a/crates/bevy_ecs/src/system/function_system.rs b/crates/bevy_ecs/src/system/function_system.rs index 3911ba83b57c0..903c512a4937b 100644 --- a/crates/bevy_ecs/src/system/function_system.rs +++ b/crates/bevy_ecs/src/system/function_system.rs @@ -536,7 +536,7 @@ where } fn default_system_sets(&self) -> Vec { - let set = crate::schedule::SystemTypeSet::::new(); + let set = crate::schedule::SystemTypeSet::::new(); vec![set.intern()] }