Rust 1.100.0 stabilizes never type, core Allocator API, and Cargo dependency reporting
Rust 1.100.0 marks a milestone release with stabilization of the never type for diverging functions, core Allocator API components for custom memory management, and unused dependency warnings in Cargo.
Summary
The Rust project has released version 1.100.0 of the systems programming language, bringing several long-awaited language and toolchain stabilizations. The never type (!) is now stable, enabling explicit typing of diverging functions and improving type system expressiveness for error handling and control flow. Core portions of the Allocator API have also stabilized, allowing developers to implement custom memory allocators with standard interfaces. Additionally, Cargo now reports unused dependencies during builds, helping reduce compile times and binary bloat in Rust projects.
These changes affect all Rust developers across Linux, embedded, and systems programming domains. The Allocator API stabilization particularly benefits kernel developers and those working on performance-critical applications where custom memory strategies are essential. Cargo's unused dependency reporting addresses a common pain point in large Rust codebases. Users with rustup-installed toolchains can update immediately; distribution packages will follow their standard release cycles.
What changes in Rust 1.100.0
- Never type stabilization: The
!type for diverging functions is now stable, enabling functions that never return to be explicitly typed and improving pattern matching exhaustiveness checking. - Allocator API core stabilization: Core components of the standard library's Allocator trait and related interfaces are now stable, permitting custom allocator implementations without nightly features.
- Cargo unused dependency reporting: The build tool now detects and reports crate dependencies that are declared in
Cargo.tomlbut not actively used in the code, aiding dependency hygiene. - Toolchain availability: Existing rustup users can obtain 1.100.0 through
rustup update stable; fresh installations follow the standard rustup procedure.
Why it matters
The never type and Allocator API stabilizations remove significant barriers for the Linux kernel's Rust adoption, where custom allocators and precise control flow semantics are critical for memory-safe driver development. Cargo's unused dependency reporting will improve maintainability across the crates.io ecosystem, reducing attack surface and compile overhead in supply chains. Distribution packagers and embedded toolchains can now target these features on stable channels rather than tracking nightly builds.
What to do
- Rust developers can update to version 1.100.0 using the command
rustup update stable.
Original reference: lwn.net →