From 0d4d66236abba5e45ed9203aafa21d35e714b979 Mon Sep 17 00:00:00 2001 From: JoJoJet <21144246+JoJoJet@users.noreply.github.com> Date: Fri, 3 Feb 2023 10:04:02 -0500 Subject: [PATCH 1/2] remove `ExclusiveSystemParam::apply` --- crates/bevy_ecs/src/system/exclusive_function_system.rs | 5 +---- crates/bevy_ecs/src/system/exclusive_system_param.rs | 8 -------- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/crates/bevy_ecs/src/system/exclusive_function_system.rs b/crates/bevy_ecs/src/system/exclusive_function_system.rs index 1d5c7fca36781..6928e284dde22 100644 --- a/crates/bevy_ecs/src/system/exclusive_function_system.rs +++ b/crates/bevy_ecs/src/system/exclusive_function_system.rs @@ -132,10 +132,7 @@ where } #[inline] - fn apply_buffers(&mut self, world: &mut World) { - let param_state = self.param_state.as_mut().expect(PARAM_MESSAGE); - Param::apply(param_state, world); - } + fn apply_buffers(&mut self, _world: &mut World) {} #[inline] fn initialize(&mut self, world: &mut World) { diff --git a/crates/bevy_ecs/src/system/exclusive_system_param.rs b/crates/bevy_ecs/src/system/exclusive_system_param.rs index 7f5b25f77fba3..4d77049e317e2 100644 --- a/crates/bevy_ecs/src/system/exclusive_system_param.rs +++ b/crates/bevy_ecs/src/system/exclusive_system_param.rs @@ -12,8 +12,6 @@ pub trait ExclusiveSystemParam: Sized { type Item<'s>: ExclusiveSystemParam; fn init(world: &mut World, system_meta: &mut SystemMeta) -> Self::State; - #[inline] - fn apply(_state: &mut Self::State, _world: &mut World) {} fn get_param<'s>(state: &'s mut Self::State, system_meta: &SystemMeta) -> Self::Item<'s>; } @@ -74,12 +72,6 @@ macro_rules! impl_exclusive_system_param_tuple { (($($param::init(_world, _system_meta),)*)) } - #[inline] - fn apply(state: &mut Self::State, _world: &mut World) { - let ($($param,)*) = state; - $($param::apply($param, _world);)* - } - #[inline] #[allow(clippy::unused_unit)] fn get_param<'s>( From d1cda8c7faf22d479015d0f9fb57cedae54a725b Mon Sep 17 00:00:00 2001 From: JoJoJet <21144246+JoJoJet@users.noreply.github.com> Date: Fri, 3 Feb 2023 11:58:42 -0500 Subject: [PATCH 2/2] explain why `ExlusiveFunctionSystem::apply_buffers` does nothing --- crates/bevy_ecs/src/system/exclusive_function_system.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/bevy_ecs/src/system/exclusive_function_system.rs b/crates/bevy_ecs/src/system/exclusive_function_system.rs index 6928e284dde22..c224dd2e46c15 100644 --- a/crates/bevy_ecs/src/system/exclusive_function_system.rs +++ b/crates/bevy_ecs/src/system/exclusive_function_system.rs @@ -132,7 +132,11 @@ where } #[inline] - fn apply_buffers(&mut self, _world: &mut World) {} + fn apply_buffers(&mut self, _world: &mut World) { + // "pure" exclusive systems do not have any buffers to apply. + // Systems made by piping a normal system with an exclusive system + // might have buffers to apply, but this is handled by `PipeSystem`. + } #[inline] fn initialize(&mut self, world: &mut World) {