bevy/crates
JoJoJet 42732c0815 Make #[system_param(ignore)] and #[world_query(ignore)] unnecessary (#8030)
When using `PhantomData` fields with the `#[derive(SystemParam)]` or
`#[derive(WorldQuery)]` macros, the user is required to add the
`#[system_param(ignore)]` attribute so that the macro knows to treat
that field specially. This is undesirable, since it makes the macro more
fragile and less consistent.

Implement `SystemParam` and `WorldQuery` for `PhantomData`. This makes
the `ignore` attributes unnecessary.

Some internal changes make the derive macro compatible with types that
have invariant lifetimes, which fixes #8192. From what I can tell, this
fix requires `PhantomData` to implement `SystemParam` in order to ensure
that all of a type's generic parameters are always constrained.

---

+ Implemented `SystemParam` and `WorldQuery` for `PhantomData<T>`.
+ Fixed a miscompilation caused when invariant lifetimes were used with
the `SystemParam` macro.
2023-03-31 13:33:36 -07:00
..
bevy_a11y Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_animation Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_app Fix Plugin::build detection (#8103) 2023-03-28 01:42:06 +02:00
bevy_asset Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_audio Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_core Register missing types in bevy_window (#7993) 2023-03-28 01:51:13 +02:00
bevy_core_pipeline Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_derive Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_diagnostic Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_dylib Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_dynamic_plugin Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_ecs Make #[system_param(ignore)] and #[world_query(ignore)] unnecessary (#8030) 2023-03-31 13:33:36 -07:00
bevy_ecs_compile_fail_tests EntityMut: rename remove_intersection to remove and remove to take (#7810) 2023-02-26 00:09:19 +00:00
bevy_encase_derive Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_gilrs Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_gltf Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_hierarchy Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_input add Clone to common conditions (#8060) 2023-03-28 01:29:06 +02:00
bevy_internal Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_log Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_macro_utils Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_math Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_mikktspace Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_pbr Dither fix (#7977) 2023-03-28 01:50:20 +02:00
bevy_ptr Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_reflect bevy_reflect: Fix trailing comma breaking derives (#8014) 2023-03-28 01:50:37 +02:00
bevy_reflect_compile_fail_tests bevy_reflect: Fix trailing comma breaking derives (#8014) 2023-03-28 01:50:37 +02:00
bevy_render Fix documentation on RegularPolygon (#8164) 2023-03-28 01:49:28 +02:00
bevy_scene Bugfix: Scene reload fix (nonbreaking) (#7951) 2023-03-28 01:56:29 +02:00
bevy_sprite Add ReflectComponent registration for Sprite (#8207) 2023-03-28 01:50:00 +02:00
bevy_tasks Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_text Fix the Text2d text anchor's incorrect horizontal alignment (#8019) 2023-03-28 01:25:28 +02:00
bevy_time add Clone to common conditions (#8060) 2023-03-28 01:29:06 +02:00
bevy_transform docs: update docs and comments that still refer to stages (#8156) 2023-03-28 01:54:20 +02:00
bevy_ui Skip the UV calculations for untextured UI nodes (#7809) 2023-03-28 01:42:50 +02:00
bevy_utils Release 0.10.0 (#7919) 2023-03-06 03:53:02 +00:00
bevy_window Register missing types in bevy_window (#7993) 2023-03-28 01:51:13 +02:00
bevy_winit docs: update docs and comments that still refer to stages (#8156) 2023-03-28 01:54:20 +02:00