July 25th, 2024

Rust 1.80.0

The Rust team released Rust 1.80.0, featuring LazyCell and LazyLock types, Cargo 1.80 lint checks, exclusive ranges in patterns, and stabilized APIs, enhancing efficiency and safety in software development.

Read original articleLink Icon
Rust 1.80.0

The Rust team has announced the release of Rust 1.80.0, which introduces several new features and improvements. Users can update to this version using the command `$ rustup update stable`. Key additions include the stabilization of LazyCell and LazyLock types, which allow for lazy initialization of data, enhancing efficiency in software development. LazyLock is thread-safe, making it suitable for static values, while LazyCell is designed for non-thread-safe contexts.

Additionally, Cargo 1.80 enables checks for all known configuration (cfg) names and values, helping to catch typos and misconfigurations through a new lint feature. Exclusive ranges in patterns have also been introduced, allowing for more flexible pattern matching without the risk of off-by-one errors. This feature enhances the language's expressiveness and safety.

The release also stabilizes several APIs, including implementations for Default and IntoIterator for various types, as well as new methods for handling non-null pointers and string manipulation. The Rust team acknowledges the contributions of many individuals in bringing this version to fruition and encourages users to explore the detailed release notes for further information. Overall, Rust 1.80.0 aims to empower developers by providing reliable and efficient tools for software development.

Related

The Linux Kernel Matures to Having a Minimum Rust Toolchain Version

The Linux Kernel Matures to Having a Minimum Rust Toolchain Version

The Linux kernel is advancing to support multiple Rust compiler versions, starting with 1.78.0 and adding 1.79.0. This progress aims to stabilize Rust for Linux, enhancing driver and kernel code development efficiency.

2024 FreeBSD Developer Summit: Integration with Rust

2024 FreeBSD Developer Summit: Integration with Rust

The 2024 FreeBSD Developer Summit discussed integrating Rust into FreeBSD for modernization and security. Challenges include Rust's update pace differing from FreeBSD's. Coordination with Rust community is vital for compatibility and stability.

Rust for Filesystems

Rust for Filesystems

At the 2024 Linux Summit, Wedson Almeida Filho and Kent Overstreet explored Rust for Linux filesystems. Rust's safety features offer benefits for kernel development, despite concerns about compatibility and adoption challenges.

Slint 1.7 Released with New Widgets, Multi-Window Support, and Live-Preview Red

Slint 1.7 Released with New Widgets, Multi-Window Support, and Live-Preview Red

Slint 1.7 introduces Date & Time Picker Popup Widgets, Multi-Window Support, and a redesigned Live-Preview with a new property editor. The toolkit, based on Rust, supports multiple platforms and encourages collaboration. Bug fixes, enhancements, and community contributions are highlighted. Users can upgrade following specific instructions for various developers, emphasizing incremental improvements and backward compatibility. Feedback and contributions are welcomed for ongoing innovation.

Investing in Rust

Investing in Rust

Investing in Rust programming language can enhance cybersecurity by preventing memory-related vulnerabilities. Challenges in adoption include integration issues and skill set mismatches, suggesting U.S. policy interventions for promotion.

Link Icon 5 comments
By @CryZe - 3 months
Not mentioned in the blog post is the new addition of `size_of`, `size_of_val`, `align_of`, and `align_of_val` to the prelude, which means they don't need to be imported anymore: https://github.com/rust-lang/rust/pull/123168/
By @metaltyphoon - 3 months
At this rate, at what point will types have too many functions to pick from? I'm imagining a decade from now.
By @robinsonrc - 3 months
I've been waiting for this one, and just very much enjoyed swapping out once_cell for std::sync::LazyLock
By @nhatcher - 3 months
`LazyCell` and `LazyLock` are in da house!