Async runtime for Rust where correctness is structural: region-owned tasks, cancel-correct protocols, capability-gated effects, and deterministic replay testing
// readme
Asupersync
Spec-first, cancel-correct, capability-secure async for Rust
cargo add asupersync --git https://github.com/Dicklesworthstone/asupersync
TL;DR
The Problem: Conventional executor APIs leave important lifecycle contracts to composition and discipline. Cancellation can abandon partial effects, detached tasks can outlive their owner, cleanup may be best-effort, and schedule dependent failures can be difficult to reproduce.
The Solution: Asupersync makes its core task-ownership and runtime-tracked effect contracts structural rather than conventional. Tasks are owned by regions that close to quiescence. Cancellation is an explicit request β drain β finalize protocol, with budgeted bounds on covered, cooperative paths; non-cooperative code and foreign calls do not acquire a universal shutdown bound. Runtime-managed effects require capabilities, with host-boundary exceptions documented explicitly. The lab runtime makes controlled schedules deterministic and replayable.
Why Asupersync?
| Guarantee | What It Means |
|---|---|
| No orphan tasks | Every spawned task is owned by a region; region close waits for⦠|