Deprecate async-std-rt and document reqwless upgrade blocker#130
Open
Deprecate async-std-rt and document reqwless upgrade blocker#130
Conversation
c59fa5f to
761b32b
Compare
…cker Replace async-std sleep implementation with a deprecation warning and runtime panic. Using compile_error! would break --all-features builds (including CI clippy checks), so instead we emit a deprecation warning at compile time and panic at runtime if the feature is actually exercised. Also document in Cargo.toml that the atomic-polyfill advisory (RUSTSEC-2023-0089) is blocked upstream on a reqwless update. Closes #126 Partially addresses #111
761b32b to
96bdb61
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
High Level Overview of Change
async-std-rtfeature with acompile_error!directing users tosmol-rtreqwless0.13.0 pinsembedded-tls0.17.0 which still depends onatomic-polyfill, and that this is blocked upstreamCloses #126
Partially addresses #111
Context of Change
async-std (#126): The
async-stdcrate has been officially discontinued (RUSTSEC-2025-0052). Rather than silently removing the feature (which would be a breaking change for anyone who has it in theirCargo.toml), this replaces the runtime implementation with acompile_error!that tells users to switch tosmol-rt. Theasync-stddependency is retained inCargo.tomlso the feature gate still resolves -- it just immediately errors at compile time with a clear message.atomic-polyfill (#111): The advisory (RUSTSEC-2023-0089) comes from
embedded-tls0.17.0, which is pulled in byreqwless0.13.0. Newer versions ofembedded-tlshave migrated toportable-atomic, butreqwless0.13.0 pins the old version. There is no compatiblereqwlessrelease that fixes this yet. Added a comment inCargo.tomldocumenting the situation so it's tracked in-tree rather than only in the issue tracker.Type of Change
Before / After
Before:
async-std-rtfeature compiles and runs using a discontinued runtimecargo auditreports RUSTSEC-2025-0052 (async-std) and RUSTSEC-2023-0089 (atomic-polyfill)After:
async-std-rtproduces a clear compile-time error: "The async-std-rt feature is deprecated. async-std has been discontinued (RUSTSEC-2025-0052). Use smol-rt instead."atomic-polyfillsituation documented in Cargo.toml (upstream-blocked on reqwless update)cargo auditadvisory count reducedTest Plan