hn.today

Announcing Rust 1.100.0

blog.rust-lang.org884 points316 comments
Screenshot of Announcing Rust 1.100.0

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.

Read on blog.rust-lang.org316 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Programming

Ggml v1.0.0

Ggml v1.0.0

ggml 1.0.0 removes deprecated public APIs and legacy DIAG_MASK operations, while adding configurable YaRN truncation and FP8 support. It also improves backend performance with quantized matrix multiplication, fused MoE operations, and new attention and scheduling paths. (github.com)

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.