diff --git a/crates/bevy_ecs/src/schedule/set.rs b/crates/bevy_ecs/src/schedule/set.rs index 37e36ac11c..d1ee7badfa 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 b701f8098f..a019330856 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 3911ba83b5..903c512a49 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()] }