1 // revisions: edition2018 edition2021
2 // [edition2018] edition:2018
3 // [edition2021] edition:2021
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);
12 Ok(3) => println!("ok"),
13 Ok(_) => println!("ok"),
14 Err(_) => panic!("err"),
18 Ok(3) => println!("ok"),
19 Ok(_) => println!("ok"),
24 Ok(3) => println!("ok"),
25 Ok(_) => println!("ok"),
32 Ok(3) => println!("ok"),
33 Ok(_) => println!("ok"),
37 // Allowed when used in `panic!`.
39 Ok(3) => println!("ok"),
40 Ok(_) => println!("ok"),
41 Err(_e) => panic!("{}", _e),
44 // Allowed when not with `panic!` block.
46 Ok(3) => println!("ok"),
47 Ok(_) => println!("ok"),
48 Err(_) => println!("err"),
51 // Allowed when used with `unreachable!`.
53 Ok(3) => println!("ok"),
54 Ok(_) => println!("ok"),
55 Err(_) => unreachable!(),
58 // Allowed when used with `unreachable!`.
60 Ok(3) => println!("ok"),
61 Ok(_) => println!("ok"),