Async fn fundamentals

This initiative is part of the overal async vision roadmap.

Impact

  • Able to write async fn in traits and trait impls
    • Able to easily declare that T: Trait + Send where "every async fn in Trait returns a Send future"
    • Traits that use async fn can still be dyn safe though some tuning may be required
    • Async functions in traits desugar to impl Trait in traits
  • Able to write "async fn drop" to declare that the destructor may await
  • Support for async closures

Milestones

MilestoneStateKey participants
Author evaluation doc for static async trait🦀tmandry
Author evaluation doc for dyn async trait🦀tmandry
Author evaluation doc for async drop🦀tmandry
Author evaluation doc for impl Trait in traits💤
Stabilize type alias impl trait💤
Stabilize generic associated types💤
Author RFC for async fn in traits💤
Author evaluation doc for async closures💤
Author RFC for async fn in traits💤
Feature complete for async fn in traits💤
Feature complete for impl Trait in traits💤
Feature complete for async drop💤
Feature complete for async closures💤