tracing: add portable-atomic
support to other tracing
crates
#3246
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR expands
portable-atomic
utilisation within Tracing, improving platform support without breaking the existing public API.Motivation
Since #3199 was merged, it's now possible to bring more tracing crates to atomically challenged platforms through
portable-atomic
. Additionally, CI is not currently setup to ensure this feature behaves as expected (allowing compilation on platforms with incomplete atomic support).Solution
portable-atomic
support to:tracing
tracing-futures
tracing-serde
tracing-subscriber
no_std
support to:tracing-macros
tracing-futures
portable-atomic
andno_std
support.Notes
critical-section
feature is also added to make CI testing and usage oftracing
/etc. on atomically challenged platforms simpler.portable-atomic
as a dependency only occur when it would have already been included transitively viatracing-core
'sportable-atomic-util
dependency.core::sync::atomic
withportable-atomic
to ensure the public API was unaffected. As such, this is not a breaking change, since it simply addsportable-atomic
andcritical-section
features.