]> git.lizzy.rs Git - rust.git/commit
Auto merge of #96150 - est31:unused_macro_rules, r=petrochenkov
authorbors <bors@rust-lang.org>
Thu, 12 May 2022 00:08:08 +0000 (00:08 +0000)
committerbors <bors@rust-lang.org>
Thu, 12 May 2022 00:08:08 +0000 (00:08 +0000)
commit0cd939e36c0696aad44a213566c9b152f0437020
tree2499fbc88c8efc1693dc46f1f9946a5921fec865
parentcb9cb4d4e10366ea2ce13813fff26b90ab3fec1d
parent493af0b54f97840d3123a4020d178effdf841379
Auto merge of #96150 - est31:unused_macro_rules, r=petrochenkov

Implement a lint to warn about unused macro rules

This implements a new lint to warn about unused macro rules (arms/matchers), similar to the `unused_macros` lint added by #41907 that warns about entire macros.

```rust
macro_rules! unused_empty {
    (hello) => { println!("Hello, world!") };
    () => { println!("empty") }; //~ ERROR: 1st rule of macro `unused_empty` is never used
}

fn main() {
    unused_empty!(hello);
}
```

Builds upon #96149 and #96156.

Fixes #73576
compiler/rustc_expand/src/base.rs
compiler/rustc_lint/src/lib.rs
compiler/rustc_lint_defs/src/builtin.rs
compiler/rustc_middle/src/mir/visit.rs
compiler/rustc_resolve/src/diagnostics.rs
compiler/rustc_resolve/src/lib.rs