The Wire ยท Showcase
RUST 1.97.0 SHIPS WITH CONST GENERICS PROGRESS AND POLONIUS FIXES
By RepoJournal ยท Filed ยท About Rust
The language team stabilized new target features and fixed critical borrowck regressions while rust-analyzer cuts LSP overhead with gen-lsp-types v0.10.0.
Rust 1.97.0 landed overnight with stabilized target features (div32, lam-bh, lamcas, ld-seq-sa, scq) and new linting for unused pub items in binaries [1]. The release includes a critical fix for polonius legacy mode that was panicking during loan invalidation [3], and borrowck improvements that clean up internal constraint handling [4]. On the const generics front, min_generic_const_args now falls back to anonymous consts when direct representation fails, pushing forward on the Project Const Generics roadmap [5]. Meanwhile, rust-analyzer bumped gen-lsp-types to v0.10.0 [2], delivering measurable ergonomic wins for `LspRequestMethod` and reduced allocations across the board. The team also cleaned internal query machinery by removing unused `cycle_{fn,initial}` support from `#[query_group]` [7], and a performance pass on the dependency graph reader deduplication should improve incremental rebuild times for larger tasks [6].
Action items
- โ Upgrade to Rust 1.97.0 if you use polonius legacy mode or hit borrowck regressions rust-lang/rust [immediate]
- โ Update rust-analyzer to pick up gen-lsp-types v0.10.0 for better LSP performance rust-lang/rust-analyzer [plan]
- โ Review new dead_code_pub_in_binary lint for unused exports in your binaries rust-lang/rust [monitor]
References
- [1] Rust 1.97.0 โ rust-lang/rust
- [2] Bump gen-lsp-types to v0.10.0 โ rust-lang/rust-analyzer
- [3] Rollup merge of #158384 - KiChjang:allow-backward-incompat-drop-hint, r=lqd rust-lang/rust
- [4] Rollup merge of #158877 - Enselic:adjust-best_blame_constraint, r=fee1-dead rust-lang/rust
- [5] Rollup merge of #158617 - khyperia:gca-syntax-flip, r=BoxyUwU rust-lang/rust
- [6] Auto merge of #158794 - xmakro:perf/read-dedup-epoch-filter, r=cjgillot rust-lang/rust
- [7] internal: remove `cycle_{fn,initial}` support from `#[query_group]` rust-lang/rust-analyzer