]> git.lizzy.rs Git - rust.git/blob - tests/ui/lint/unused/unused-macro-rules-compile-error.rs
Auto merge of #106989 - clubby789:is-zero-num, r=scottmcm
[rust.git] / tests / ui / lint / unused / unused-macro-rules-compile-error.rs
1 #![deny(unused_macro_rules)]
2 // To make sure we are not hitting this
3 #![deny(unused_macros)]
4
5 macro_rules! num {
6     (one) => { 1 };
7     // Most simple (and common) case
8     (two) => { compile_error!("foo"); };
9     // Some nested use
10     (two_) => { foo(compile_error!("foo")); };
11     (three) => { 3 };
12     (four) => { 4 }; //~ ERROR: rule of macro
13 }
14 const _NUM: u8 = num!(one) + num!(three);
15
16 // compile_error not used as a macro invocation
17 macro_rules! num2 {
18     (one) => { 1 };
19     // Only identifier present
20     (two) => { fn compile_error() {} }; //~ ERROR: rule of macro
21     // Only identifier and bang present
22     (two_) => { compile_error! }; //~ ERROR: rule of macro
23     (three) => { 3 };
24 }
25 const _NUM2: u8 = num2!(one) + num2!(three);
26
27 fn main() {}