bevy/crates
Alice Cecile 31bb878d6d
Fix system param validation for piped systems (#18785)
# Objective

- Piped systems are an edge case that we missed when reworking system
parameter validation.
- Fixes #18755.

## Solution

- Validate the parameters for both systems, ~~combining the errors if
both failed validation~~ by simply using an early out.
- ~~Also fix the same bug for combinator systems while we're here.~~

## Testing

I've added a large number of tests checking the behavior under various
permutations. These are separate tests, rather than one mega test
because a) it's easier to track down bugs that way and b) many of these
are `should_panic` tests, which will halt the evaluation of the rest of
the test!

I've also added a test for exclusive systems being pipeable because we
don't have one and I was very surprised that that works!

---------

Co-authored-by: Chris Russell <8494645+chescock@users.noreply.github.com>
2025-04-10 23:16:22 +00:00
..
bevy_a11y Update accesskit and accesskit_winit requirements (#18285) 2025-03-25 04:04:28 +00:00
bevy_animation Add PartialEq and Hash reflections for AnimationNodeIndex (#18718) 2025-04-04 16:35:12 +00:00
bevy_anti_aliasing Remove Image::from_buffer name argument (only present in debug "dds" builds) (#18538) 2025-03-25 19:25:01 +00:00
bevy_app Add Default for all schedule labels (#18731) 2025-04-06 16:44:33 +00:00
bevy_asset Add #[deprecated(since = "0.16.0", ...)] to items missing it (#18702) 2025-04-03 17:06:01 +00:00
bevy_audio bevy_reflect: Add clone registrations project-wide (#18307) 2025-03-17 18:32:35 +00:00
bevy_color fix typo (#18696) 2025-04-03 17:18:09 +00:00
bevy_core_pipeline Add binned 2d/3d Wireframe render phase (#18587) 2025-04-09 21:34:53 +00:00
bevy_derive Link iOS example with rustc, and avoid C trampoline (#14780) 2025-03-17 21:14:07 +00:00
bevy_dev_tools Generic system config (#17962) 2025-03-12 00:12:30 +00:00
bevy_diagnostic Fix LogDiagnosticsPlugin log target typo (#18534) 2025-03-29 17:07:21 +00:00
bevy_dylib Switch from OnceCell to LazyLock in bevy_tasks (#18506) 2025-03-24 07:43:22 +00:00
bevy_ecs Fix system param validation for piped systems (#18785) 2025-04-10 23:16:22 +00:00
bevy_encase_derive Internalize BevyManifest logic. Switch to RwLock (#18263) 2025-03-12 00:46:01 +00:00
bevy_gilrs reexport entity set collections in entity module (#18413) 2025-03-30 03:51:14 +00:00
bevy_gizmos Rename EntityBorrow/TrustedEntityBorrow to ContainsEntity/EntityEquivalent (#18470) 2025-03-30 06:04:26 +00:00
bevy_gltf reexport entity set collections in entity module (#18413) 2025-03-30 03:51:14 +00:00
bevy_image bevy_image: derive TypePath when Reflect is not available (#18501) 2025-03-30 02:50:24 +00:00
bevy_input Add ? (#18783) 2025-04-10 00:27:09 +00:00
bevy_input_focus Switch ChildOf back to tuple struct (#18672) 2025-04-02 00:10:10 +00:00
bevy_internal Upgrade to Glam 0.29.3 and Simplify Feature Gating (#18638) 2025-03-31 18:54:46 +00:00
bevy_log Add print_stdout and print_stderr lints (#17446) (#18233) 2025-03-11 19:35:48 +00:00
bevy_macro_utils Switch to ImDocument in BevyManifest (#18272) 2025-03-12 20:15:39 +00:00
bevy_math Upgrade to Glam 0.29.3 and Simplify Feature Gating (#18638) 2025-03-31 18:54:46 +00:00
bevy_mesh Reduce dependencies on bevy_render by preferring bevy_mesh imports (#18437) 2025-03-25 04:14:42 +00:00
bevy_mikktspace Upgrade to Glam 0.29.3 and Simplify Feature Gating (#18638) 2025-03-31 18:54:46 +00:00
bevy_pbr Fix newline in PointLightShadowMap comment (#18791) 2025-04-10 18:05:11 +00:00
bevy_picking Newtype hashbrown (#18694) 2025-04-06 17:52:49 +00:00
bevy_platform_support Newtype hashbrown (#18694) 2025-04-06 17:52:49 +00:00
bevy_ptr moved Debug from derive to impl_ptr in bevy_ptr (#18042) 2025-02-28 02:54:46 +00:00
bevy_reflect Add accessors to DynamicEnum for the DynamicVariant (#18693) 2025-04-05 02:33:00 +00:00
bevy_remote Add Default for all schedule labels (#18731) 2025-04-06 16:44:33 +00:00
bevy_render Ignore RenderEntity during entity clones (#18798) 2025-04-10 20:46:34 +00:00
bevy_scene Newtype hashbrown (#18694) 2025-04-06 17:52:49 +00:00
bevy_sprite Add binned 2d/3d Wireframe render phase (#18587) 2025-04-09 21:34:53 +00:00
bevy_state Add Default for all schedule labels (#18731) 2025-04-06 16:44:33 +00:00
bevy_tasks Switch from OnceCell to LazyLock in bevy_tasks (#18506) 2025-03-24 07:43:22 +00:00
bevy_text Switch ChildOf back to tuple struct (#18672) 2025-04-02 00:10:10 +00:00
bevy_time Fix clippy::unnecessary-literal-unwrap in bevy_time (#18485) 2025-03-22 13:27:37 +00:00
bevy_transform Switch ChildOf back to tuple struct (#18672) 2025-04-02 00:10:10 +00:00
bevy_ui Fix AccessKit node bounds (#18706) 2025-04-08 01:42:02 +00:00
bevy_utils Address clippy::let_and_return in bevy_utils (#18480) 2025-03-22 11:44:49 +00:00
bevy_window Fix documentation: incorrect references to the Update schedule in ExitCondition (#18438) 2025-04-10 20:31:18 +00:00
bevy_winit Switch ChildOf back to tuple struct (#18672) 2025-04-02 00:10:10 +00:00