2 //FIXME: The lint only triggers once on edition 2021, so I'm leaving this at 2015 for now.
4 #![feature(exclusive_range_pattern)]
5 #![allow(clippy::match_same_arms)]
6 #![warn(clippy::match_wild_err_arm)]
8 fn match_wild_err_arm() {
9 let x: Result<i32, &str> = Ok(3);
11 Ok(3) => println!("ok"),
12 Ok(_) => println!("ok"),
13 Err(_) => panic!("err"),
17 Ok(3) => println!("ok"),
18 Ok(_) => println!("ok"),
23 Ok(3) => println!("ok"),
24 Ok(_) => println!("ok"),
31 Ok(3) => println!("ok"),
32 Ok(_) => println!("ok"),
36 // Allowed when used in `panic!`.
38 Ok(3) => println!("ok"),
39 Ok(_) => println!("ok"),
40 Err(_e) => panic!("{}", _e),
43 // Allowed when not with `panic!` block.
45 Ok(3) => println!("ok"),
46 Ok(_) => println!("ok"),
47 Err(_) => println!("err"),
50 // Allowed when used with `unreachable!`.
52 Ok(3) => println!("ok"),
53 Ok(_) => println!("ok"),
54 Err(_) => unreachable!(),
57 // Allowed when used with `unreachable!`.
59 Ok(3) => println!("ok"),
60 Ok(_) => println!("ok"),