Rust 2024 Project Goals Make Progress: Async Closures, Linux Kernel Features, and More

Starfolk

Starfolk

January 29, 2025 · 3 min read
Rust 2024 Project Goals Make Progress: Async Closures, Linux Kernel Features, and More

The Rust leadership team has announced substantial progress on its 26 project goals for 2024, with significant milestones achieved in asynchronous closures, Linux kernel features, and return type notation. The team emphasized its focus on finalizing Rust development goals for early 2025, marking a crucial step forward for the programming language.

One of the flagship goals for Rust, async closures, has reached stability, with Rust 1.85, due to be released on February 20, set to include async closure support. This achievement brings the asynchronous Rust experience closer to synchronous Rust, enabling a wider variety of async-related APIs and resolving the "Send"-bound problem, which previously blocked widespread usage of async functions in traits.

In addition to async closures, the stabilization of language features used by Rust for the Linux project is largely complete, although some work still needs to be done. This progress paves the way for Rust's increased adoption in the Linux kernel, further solidifying its position as a reliable and efficient programming language.

While return type notation has not yet reached the stable stage, ongoing work is focused on prototyping an implementation for async drop, albeit in an experimental capacity. Discussions around async iteration have been fruitful, but a consensus has not been reached, with further discussion slated for the first half of this year.

Beyond these key areas, the Rust team has made significant refactorings in the past six months, laying the groundwork for a min_generic_const_args prototype to expand const generics. Cargo sem-ver checks have also started to include generic parameters in the schema, enabling more precise lints. A design sketch has been fleshed out for changes in rustdoc's JSON support, which would aid cross-crate item linting, requiring compiler extensions.

Other notable progress includes work on adding const traits and implementation in the compiler, ergonomic ref counting focused on identifying "cheaply cloneable" types, and the Znext=solver=coherence stabilization being stable in version 1.84. A fix stopping cargo-script from overriding the release profile was also posted and merged.

While significant progress has been made, some goals remain unupdated, including an associated type position impl trait, a user-wide build cache, and implementing "merged doctests" to save doctest time. Additionally, alternatives to sandboxed build scripts will be investigated rather than continuing this project goal into the first half of 2025.

The Rust team's progress on its 2024 project goals demonstrates the language's continued commitment to innovation and improvement. As Rust's adoption grows, its impact on the programming landscape is likely to be significant, with implications for the development of more efficient, reliable, and scalable software systems.

With the final release of Rust 2024 set to be part of Rust 1.85, the programming language is poised to take another major leap forward, cementing its position as a leader in the industry. As the Rust team continues to work towards its goals, the tech community will be watching closely, eager to see the language's full potential realized.

Similiar Posts

Copyright © 2024 Starfolk. All rights reserved.