bevy/crates/bevy_reflect/src/func
Zachary Harrold ad016cb850
Improve bevy_reflect no_std support (#18060)
# Objective

- Fixes #18051

## Solution

- Switched function registry to use `bevy_platform_support::sync`
instead of `std::sync`
- Also documented that `debug_stack` (and transitively `debug`) require
`std`
- Also removed `std` from `wgpu-types` since that crate is now `no_std`
compatible

## Testing

- `cargo check -p bevy_reflect --no-default-features --features
critical-section,documentation,glam,glam/libm,smallvec,wgpu-types,functions
--target thumbv6m-none-eabi`

---

## Notes

With these changes, `bevy_reflect`'s feature support looks like this:

| Feature | `no_std` (Before) | `no_std` (After) | Notes |
| - | - | - | - |
| `default` |  |  | |
| `std` |  |  | |
| `documentation` | ✔️ | ✔️ | |
| `functions` |  | ✔️ | |
| `critical-section` | ✔️ | ✔️ | |
| `bevy` | ✔️* | ✔️* | Partial due to `smol_str` |
| `debug` |  |  | |
| `debug_stack` |  |  | |
| `petgraph` |  |  | |
| `glam` | ✔️* | ✔️* | Requires enabling `glam/libm` |
| `smallvec` | ✔️ | ✔️ | |
| `uuid` | ✔️* | ✔️* | Requires setting up `getrandom` backend |
| `wgpu-types ` |  | ✔️ | |
| `smol_str` | ✔️* | ✔️* | Partial due to `smol_str` not supporting
`portable-atomic` |
2025-02-27 06:16:10 +00:00
..
args Update typos to 1.29.6 (#17850) 2025-02-13 19:44:47 +00:00
dynamic_function_internal.rs Update typos to 1.29.6 (#17850) 2025-02-13 19:44:47 +00:00
dynamic_function_mut.rs Rename ArgList::push methods to with and add new push methods which take &mut self (#16567) 2025-01-28 05:06:50 +00:00
dynamic_function.rs Automatically enable portable-atomic when required (#17570) 2025-02-24 20:52:46 +00:00
error.rs Move hashbrown and foldhash out of bevy_utils (#17460) 2025-01-23 16:46:08 +00:00
function.rs Rename ArgList::push methods to with and add new push methods which take &mut self (#16567) 2025-01-28 05:06:50 +00:00
info.rs bevy_reflect: Apply #[deny(clippy::allow_attributes, clippy::allow_attributes_without_reason)] (#17092) 2025-01-03 22:22:34 +00:00
into_function_mut.rs Rename ArgList::push methods to with and add new push methods which take &mut self (#16567) 2025-01-28 05:06:50 +00:00
into_function.rs Rename ArgList::push methods to with and add new push methods which take &mut self (#16567) 2025-01-28 05:06:50 +00:00
macros.rs Remove Implicit std Prelude from no_std Crates (#17086) 2025-01-03 01:58:43 +00:00
mod.rs Rename ArgList::push methods to with and add new push methods which take &mut self (#16567) 2025-01-28 05:06:50 +00:00
reflect_fn_mut.rs Rename ArgList::push methods to with and add new push methods which take &mut self (#16567) 2025-01-28 05:06:50 +00:00
reflect_fn.rs Rename ArgList::push methods to with and add new push methods which take &mut self (#16567) 2025-01-28 05:06:50 +00:00
registry.rs Improve bevy_reflect no_std support (#18060) 2025-02-27 06:16:10 +00:00
return_type.rs Remove Implicit std Prelude from no_std Crates (#17086) 2025-01-03 01:58:43 +00:00
signature.rs Move hashbrown and foldhash out of bevy_utils (#17460) 2025-01-23 16:46:08 +00:00