Skip to content

refactor(deps): migrate from discontinued async-std to smol#84

Merged
BridgeAR merged 1 commit into
mainfrom
BridgeAR/2026-06-12-async-std-to-smol
Jun 16, 2026
Merged

refactor(deps): migrate from discontinued async-std to smol#84
BridgeAR merged 1 commit into
mainfrom
BridgeAR/2026-06-12-async-std-to-smol

Conversation

@BridgeAR

Copy link
Copy Markdown
Member

Summary

async-std was officially discontinued on 2025-03-01; upstream points all users at smol, the executor async-std was already built on. This swaps the runtime to smol with no behaviour change.

Two smol semantics differ from async-std and shape the diff:

  1. A smol Task cancels when its handle drops, so the statsd listener and the timeout task are .detach()ed to stay fire-and-forget.
  2. async-process drives its reaper thread from Child creation, so child.status() is awaited under a plain block_on with no executor wired up.

Net ~19 fewer transitive crates in the dependency tree.

Note

Stacked on #79 — base is BridgeAR/2026-06-03-dep-updates; merge after #79 lands.

Test plan

  • cargo test on macOS and Ubuntu — 24 example tests, including service / assigned_port / timeout / ready_signal_* / summarize, which exercise the spawned listener, timer task, pipe read, and stdin path under the new runtime
  • cargo clippy --all-targets

Refs: https://github.com/async-rs/async-std

Base automatically changed from BridgeAR/2026-06-03-dep-updates to main June 16, 2026 13:28
async-std was officially discontinued on 2025-03-01 and upstream points
all users at smol, the executor it was already built on.

Two smol behaviours that async-std papered over and that the diff depends on:

1. A smol Task cancels when its handle drops, so the statsd listener and
   the timeout task are `.detach()`ed to stay fire-and-forget.
2. async-process drives its reaper thread from Child creation, so child
   `.status()` is awaited under a plain `block_on` with no executor wired up.

Net ~19 fewer transitive crates in the dependency tree.

Refs: https://github.com/async-rs/async-std
@BridgeAR
BridgeAR force-pushed the BridgeAR/2026-06-12-async-std-to-smol branch from 224a6b5 to ea9647d Compare June 16, 2026 13:30
@BridgeAR
BridgeAR marked this pull request as ready for review June 16, 2026 13:48
@BridgeAR
BridgeAR merged commit 218bd14 into main Jun 16, 2026
4 checks passed
@BridgeAR
BridgeAR deleted the BridgeAR/2026-06-12-async-std-to-smol branch June 16, 2026 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants