#![deny(unreachable_patterns)] //~ NOTE the lint level is defined here #![allow(non_snake_case, non_upper_case_globals)] mod x { pub use std::env::consts::ARCH; const X: i32 = 0; //~ NOTE there is a constant of the same name } fn main() { let input: i32 = 42; const god: i32 = 1; const GOOD: i32 = 1; const BAD: i32 = 2; let name: i32 = 42; //~ NOTE there is a binding of the same name match input { X => {} //~ NOTE matches any value _ => {} //~ ERROR unreachable pattern //~^ NOTE no value can reach this } match input { GOD => {} //~ HELP you might have meant to pattern match against the value of similarly named constant `god` //~^ NOTE matches any value _ => {} //~ ERROR unreachable pattern //~^ NOTE no value can reach this } match input { GOOOD => {} //~ HELP you might have meant to pattern match against the value of similarly named constant `GOOD` //~^ NOTE matches any value _ => {} //~ ERROR unreachable pattern //~^ NOTE no value can reach this } match input { name => {} //~^ NOTE matches any value _ => {} //~ ERROR unreachable pattern //~^ NOTE no value can reach this } match "" { ARCH => {} //~ HELP you might have meant to pattern match against the value of constant `ARCH` //~^ NOTE matches any value _ => {} //~ ERROR unreachable pattern //~^ NOTE no value can reach this } }