Polish

Impact

  • Users can predict and understand why the compiler raises error messages. Errors are aligned with an experienced user's intuition about how Rust works.
  • Error messages identify common misconceptions, suggest solutions, and are generally on par with sync Rust.
    • Errors not only show that there is a problem, they help the user to fix it and to learn more about Rust (possibly directing the user to other documentation).
    • The compiler may suggest crates from the ecosystem to help solve problems when appropriate.
  • Lints guide the user away from common errors and help them both to get started with async Rust and to maintain async Rust programs over time.
  • Rust's async implementation is high quality and reflects an attention to detail.
    • No internal compiler errors
    • Compiler analysis and code generation passes are precise and not unnecessarily conservative.
    • Integration with low-level tooling and the like is high-quality.
    • The generated code from the compiler is high quality and performant.

Initiatives

InitiativeStateKey participants
Error messages💤
Lint: Must not suspend🦀Gus Wynn
Lint: Blocking in async context💤
Lint: Large copies, large generators💤
Cleaner async stacktraces💤
Precise generator captures🦀eholk
Sync and async behave the same💤