You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want to use bevy_reflect on no_std rp2040. This platform has alloc, but not atomics, so alloc::sync is missing. bevy_relflect has a hard depency on tracing, and I'd like to use tracing on this platform also.
Crates
tracing-core
portable-atomic
bevy_reflect
Motivation
Want to use tracing-core on no_std rp2040 without hardware atomics
Proposal
Since alloc::sync is missing on some no_std platforms, and the "portable-atomic" crate is a drop-in replacement for alloc::sync, integrate portable-atomic.
Alternatives
None that I know of.
The text was updated successfully, but these errors were encountered:
## Motivation
I want to use `bevy_reflect` on `no_std` devices. This platform has alloc,
but not atomics, so `alloc::sync` is missing. `bevy_relflect` has a hard
depency on `tracing`, and I'd like to use tracing on this platform also.
Want to use tracing-core on `no_std` devices like rp2040
without hardware atomics
## Solution
- Added `portable-atomic-util` as an optional dependency
gated behind a new feature, `portable-atomic` to
`tracing-core`
- When `portable-atomic` is enabled, switched uses of
`Arc` and `Weak` away from `alloc::sync` to
`portable_atomic_util`.
- Added workaround for a lack of support for
[unsized coercion](rust-lang/rust#18598)
in custom types. I've included a comment linking to this issue
explaining the missing functionality.
Fixes#3173
Feature Request
I want to use bevy_reflect on no_std rp2040. This platform has alloc, but not atomics, so alloc::sync is missing. bevy_relflect has a hard depency on tracing, and I'd like to use tracing on this platform also.
Crates
tracing-core
portable-atomic
bevy_reflect
Motivation
Want to use tracing-core on no_std rp2040 without hardware atomics
Proposal
Since alloc::sync is missing on some no_std platforms, and the "portable-atomic" crate is a drop-in replacement for alloc::sync, integrate portable-atomic.
Alternatives
None that I know of.
The text was updated successfully, but these errors were encountered: