bevy/crates/bevy_ecs/src/system
Giacomo Stevanato fb9aaa1527
Follow up to cached run_system (#15410)
# Objective

- Fixes #15373
- Fixes
https://github.com/bevyengine/bevy/pull/14920#issuecomment-2370428013

## Solution

- Make `IntoSystem::pipe` and `IntoSystem::map` return two new
(possibly-ZST) types that implement `IntoSystem` and whose `into_system`
method return the systems that were previously being returned by
`IntoSystem::pipe` and `IntoSystem::map`
- Don't eagerly call `IntoSystem::into_system` on the argument given to
`RunSystemCachedWith::new` to avoid losing its ZST-ness

## Testing

- Added a regression test for each issue

## Migration Guide

- `IntoSystem::pipe` and `IntoSystem::map` now return `IntoPipeSystem`
and `IntoAdapterSystem` instead of `PipeSystem` and `AdapterSystem`.
Most notably these types don't implement `System` but rather only
`IntoSystem`.
2024-09-24 17:35:44 +00:00
..
commands Follow up to cached run_system (#15410) 2024-09-24 17:35:44 +00:00
adapter_system.rs Follow up to cached run_system (#15410) 2024-09-24 17:35:44 +00:00
builder.rs Simpler lint fixes: makes ci lints work but disables a lint for now (#15376) 2024-09-24 11:42:59 +00:00
combinator.rs Follow up to cached run_system (#15410) 2024-09-24 17:35:44 +00:00
exclusive_function_system.rs Support systems that take references as input (#15184) 2024-09-23 17:37:29 +00:00
exclusive_system_param.rs Simpler lint fixes: makes ci lints work but disables a lint for now (#15376) 2024-09-24 11:42:59 +00:00
function_system.rs Support systems that take references as input (#15184) 2024-09-23 17:37:29 +00:00
input.rs Support systems that take references as input (#15184) 2024-09-23 17:37:29 +00:00
mod.rs Follow up to cached run_system (#15410) 2024-09-24 17:35:44 +00:00
observer_system.rs Support systems that take references as input (#15184) 2024-09-23 17:37:29 +00:00
query.rs Use associated type bounds for iter_many and friends (#15040) 2024-09-09 16:24:39 +00:00
system.rs Simpler lint fixes: makes ci lints work but disables a lint for now (#15376) 2024-09-24 11:42:59 +00:00
system_name.rs Simpler lint fixes: makes ci lints work but disables a lint for now (#15376) 2024-09-24 11:42:59 +00:00
system_param.rs Simpler lint fixes: makes ci lints work but disables a lint for now (#15376) 2024-09-24 11:42:59 +00:00
system_registry.rs Follow up to cached run_system (#15410) 2024-09-24 17:35:44 +00:00