mirror of https://github.com/rust-lang/rust.git
46 lines
1.5 KiB
Rust
46 lines
1.5 KiB
Rust
#![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
|
|
}
|
|
}
|