The Wire · Showcase
CLIPPY MODERNIZES PATTERN MATCHING, RUST CORE SHIPS ROLLUP FIXES
By RepoJournal · Filed · About Rust
Rust's linter replaces deprecated box patterns with the new deref patterns feature while compiler teams push through three major rollups addressing ambiguity errors, proc-macro refactoring, and TLS safety.
Clippy dropped a significant modernization [1] that replaces box_patterns usage with deref_patterns, tracking against rust-lang/rust#156110 and positioning the linter ahead of the language's evolution. The lint team also fixed two critical internal issues: duplicate diagnostics in min_rust_version_invalid_attr [2] by separating attribute parsing, and an ICE crash [3] when destructuring type aliases in the unnecessary_rest_pattern check. On the compiler side, three rollups landed across 102 commits. The first [4] merged 13 PRs including TLS allocator safety improvements and a new unused_footnote_definition rustdoc lint. The second [5] consolidated 8 changes that merge ambiguity error reporting for better developer clarity on inference variable conflicts. The third [6] removes the target argument from get_proc_macros, simplifying rust-analyzer's proc-macro loading strategy and laying groundwork for future wasm support. Bootstrap also replaced its exit! macro [7] with a proper function to eliminate crate-root ceremony. The dev guide received documentation updates [8] [9] covering feedable query modifiers and attribute link fixes across 5 commits.
One email a day. Unsubscribe in one click.
Keep up with Rust in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review deref_patterns migration in your clippy-using codebases rust-lang/rust-clippy [plan]
- → Sync with latest compiler rollups if running nightly builds rust-lang/rust [monitor]
References
- [1] replace `box_patterns` usage with `deref_patterns` ↗ rust-lang/rust-clippy
- [2] Fix duplicate diagnostics for `min_rust_version_invalid_attr` ↗ rust-lang/rust-clippy
- [3] fix ICE on unnecessary_rest_pattern for TyAlias ↗ rust-lang/rust-clippy
- [4] Auto merge of #161014 - jhpratt:rollup-lyWH2E3, r=jhpratt rust-lang/rust
- [5] Auto merge of #161031 - jhpratt:rollup-XTZ644V, r=jhpratt rust-lang/rust
- [6] Rollup merge of #160975 - bjorn3:proc_macro_refactors6, r=Mark-Simulacrum rust-lang/rust
- [7] Rollup merge of #161023 - Zalathar:exit-process, r=jieyouxu,clubby789 rust-lang/rust
- [8] misc changes ↗ rust-lang/rustc-dev-guide
- [9] Add `feedable` query modifier rust-lang/rustc-dev-guide