Skip to content

Commit ebcae1e

Browse files
committed
michael
1 parent 7daa3b3 commit ebcae1e

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

posts/2025-03-03-Project-Goals-Feb-Update.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ This is the first Project Goals update for the new 2025h1 period. For the first
1818

1919
**Why this goal?** This work continues our drive to improve support for async programming in Rust. In 2024H2 we stabilized async closures; explored the generator design space; and began work on the `dynosaur` crate, an experimental proc-macro to provide dynamic dispatch for async functions in traits. In 2025H1 [our plan](https://rust-lang.github.io/rust-project-goals/2025h1/async.html) is to deliver (1) improved support for async-fn-in-traits, completely subsuming the functionality of the [`async-trait` crate](https://crates.io/crates/async-trait); (2) progress towards sync and async generators, simplifying the creation of iterators and async data streams; (3) and improve the ergonomics of `Pin`, making lower-level async coding more approachable. These items together start to unblock the creation of the next generation of async libraries in the wider ecosystem, as progress there has been blocked on a stable solution for async traits and streams.
2020

21-
**What has happened?** The biggest news is that Rust 1.85 is stable and includes two major features that impact Async Rust. The first is [async closures](https://blog.rust-lang.org/inside-rust/2024/08/09/async-closures-call-for-testing.html), which has been on many people's wish lists for a long time and was expertly moved forward by @compiler-errors over the last year.
21+
**What has happened?** The biggest news is that Rust 1.85 is stable and includes two major features that impact Async Rust. The first is [async closures](https://blog.rust-lang.org/inside-rust/2024/08/09/async-closures-call-for-testing.html), which has been on many people's wish lists for a long time and was expertly moved forward by [@compiler-errors](https://github.com/compiler-errors) over the last year.
2222

2323
The second feature included in 1.85 is the new [lifetime capture rules](https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html) as part of Rust 2024 edition. This should substantially improve the experience of using async Rust anytime a user writes `-> impl Future`, as it removes the need for `+ '_` or similar bounds in most cases. It will also lead to an easier to understand language, since those bounds only worked by exploiting the more subtle rules of `impl Trait` in a way that runs contrary to their actual semantic role in the language. In the 2024 Edition, the subtle rule is gone and we capture all input lifetimes by default, with the ability to use `+ use<>` syntax to opt out. See [this blog post](https://blog.rust-lang.org/2024/09/05/impl-trait-capture-rules.html) for more.
2424

0 commit comments

Comments
 (0)