bevy/crates
Patrick Walton 6ff36898ae Fix dynamic linking failures from the AnimationEventFn change. (#16476)
I'm not sure why, but somehow `#[derive(Reflect)]` on a tuple struct
with a boxed trait object can result in linker errors when dynamic
linking is used on Windows using `rust-lld`:

```
  = note: rust-lld: error: <root>: undefined symbol: bevy_animation::_::_$LT$impl$u20$bevy_reflect..reflect..PartialReflect$u20$for$u20$bevy_animation..AnimationEventFn$GT$::reflect_partial_eq::hc4cce1dc55e42e0b␍
          rust-lld: error: <root>: undefined symbol: bevy_animation::_::_$LT$impl$u20$bevy_reflect..from_reflect..FromReflect$u20$for$u20$bevy_animation..AnimationEventFn$GT$::from_reflect::hc2b1d575b8491092␍
          rust-lld: error: <root>: undefined symbol: bevy_animation::_::_$LT$impl$u20$bevy_reflect..tuple_struct..TupleStruct$u20$for$u20$bevy_animation..AnimationEventFn$GT$::clone_dynamic::hab42a4edc8d6b5c2␍
          rust-lld: error: <root>: undefined symbol: bevy_animation::_::_$LT$impl$u20$bevy_reflect..tuple_struct..TupleStruct$u20$for$u20$bevy_animation..AnimationEventFn$GT$::field::h729a3d6dd6a27a43␍
          rust-lld: error: <root>: undefined symbol: bevy_animation::_::_$LT$impl$u20$bevy_reflect..tuple_struct..TupleStruct$u20$for$u20$bevy_animation..AnimationEventFn$GT$::field_mut::hde1c34846d77344b␍
          rust-lld: error: <root>: undefined symbol: bevy_animation::_::_$LT$impl$u20$bevy_reflect..type_registry..GetTypeRegistration$u20$for$u20$bevy_animation..AnimationEventFn$GT$::get_type_registration::hb96eb543e403a132␍
          rust-lld: error: <root>: undefined symbol: bevy_animation::_::_$LT$impl$u20$bevy_reflect..type_registry..GetTypeRegistration$u20$for$u20$bevy_animation..AnimationEventFn$GT$::register_type_dependencies::hcf1a4b69bcfea6ae␍
          rust-lld: error: undefined symbol: bevy_animation::_::_$LT$impl$u20$bevy_reflect..reflect..PartialReflect$u20$for$u20$bevy_animation..AnimationEventFn$GT$::reflect_partial_eq::hc4cce1dc55e42e0b␍
```

etc.

Adding `#[reflect(opaque)]` to the `Reflect` derive fixes the problem,
and that's what this patch does. I think that adding
`#[reflect(opaque)]` is harmless, as there's little that reflection
allows with a boxed trait object anyhow.
2024-11-22 21:24:03 +01:00
..
bevy_a11y Remove accesskit re-export from bevy_a11y (#16257) 2024-11-11 22:14:07 +01:00
bevy_animation Fix dynamic linking failures from the AnimationEventFn change. (#16476) 2024-11-22 21:24:03 +01:00
bevy_app AnimationEvent -> Event and other improvements (#16440) 2024-11-22 21:20:11 +01:00
bevy_asset Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_audio AudioPlayer::new() (#16287) 2024-11-11 22:08:10 +01:00
bevy_color Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_core Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_core_pipeline Fix missing import (#16337) 2024-11-11 22:18:05 +01:00
bevy_derive Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_dev_tools Headless by features (#16401) 2024-11-17 18:39:27 +01:00
bevy_diagnostic Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_dylib Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_ecs Fix adding a subtree of required components to an existing tree replacing shallower required component constructors (#16441) 2024-11-22 21:24:03 +01:00
bevy_encase_derive Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_gilrs Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_gizmos Use normal constructors for EasingCurve, FunctionCurve, ConstantCurve (#16367) 2024-11-16 15:30:10 +01:00
bevy_gltf Use normal constructors for EasingCurve, FunctionCurve, ConstantCurve (#16367) 2024-11-16 15:30:10 +01:00
bevy_hierarchy Fix bevy_hierarchy failing to compile without reflect feature (#16428) 2024-11-19 22:10:25 +01:00
bevy_image Don't reëxport bevy_image from bevy_render (#16163) 2024-11-11 22:16:38 +01:00
bevy_input Revert most of #16222 and add gamepad accessors (#16425) 2024-11-19 22:10:24 +01:00
bevy_internal Fix detailed_trace! (#16452) 2024-11-22 21:16:58 +01:00
bevy_log Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_macro_utils Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_math Use normal constructors for EasingCurve, FunctionCurve, ConstantCurve (#16367) 2024-11-16 15:30:10 +01:00
bevy_mesh Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_mikktspace Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_pbr Do not re-check visibility or re-render shadow maps for point and spot lights for each view (#15156) 2024-11-17 19:06:11 +01:00
bevy_picking Picking out order (#16231) 2024-11-16 15:38:54 +01:00
bevy_ptr Reduce compile time of bevy_ptr::OwnedPtr::make function (#15644) 2024-11-17 19:06:07 +01:00
bevy_reflect bevy_reflect: Add ReflectSerializerProcessor (#15548) 2024-11-17 19:06:13 +01:00
bevy_remote Expose BRP system scheduling and add system set (#16400) 2024-11-17 18:39:34 +01:00
bevy_render Fix detailed_trace! (#16452) 2024-11-22 21:16:58 +01:00
bevy_scene Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_sprite Fix sprite picking backend not considering the viewport of the camera. (#16386) 2024-11-16 15:31:38 +01:00
bevy_state Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_tasks Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_text AnimationEvent -> Event and other improvements (#16440) 2024-11-22 21:20:11 +01:00
bevy_time Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_transform Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_ui Only use physical coords internally in bevy_ui (#16375) 2024-11-22 21:23:59 +01:00
bevy_utils Fix detailed_trace! (#16452) 2024-11-22 21:16:58 +01:00
bevy_window Release 0.15.0-rc.3 2024-11-05 23:26:31 +01:00
bevy_winit Remove accesskit re-export from bevy_a11y (#16257) 2024-11-11 22:14:07 +01:00