Rust 1.100.0 introduces several language and standard-library changes, led by stabilization of the never type, written as !. After a decade of work and five unsuccessful stabilization attempts, it can now be named anywhere in code, and std::convert::Infallible becomes an alias for it. To support that change, older Rust editions switch their never-type fallback from () to !, which may expose rare compatibility issues or make additional code unreachable. The release also stabilizes core parts of the allocator API, letting library authors use custom allocators with types including Vec and Box. A new DropGuard runs a closure when a value leaves scope and can support rollback if an operation fails; unsafe code gains std::mem::conjure_zst, a dedicated way to create zero-sized values when valid.
Cargo gains warnings for unused dependencies, a reworked build-directory layout intended to reduce cache collisions and unnecessary rebuilds, and configurable dependency cooldowns. The cooldown setting lets users exclude package versions published too recently, reducing exposure to malicious releases discovered shortly after publication; it is a risk-reduction measure, not a complete security defense. The build-layout change may affect scripts or tests that relied on previous workarounds. Together, the Cargo changes improve dependency hygiene, cache behavior, and supply-chain safeguards, while laying groundwork for further improvements. The release also stabilizes additional APIs, including allocator-related interfaces. Rust users can install the stable release with rustup update stable.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.