| // skip-filecheck |
| //@ test-mir-pass: MatchBranchSimplification |
| |
| // EMIT_MIR matches_u8.exhaustive_match.MatchBranchSimplification.diff |
| // EMIT_MIR matches_u8.exhaustive_match_i8.MatchBranchSimplification.diff |
| |
| pub enum E { |
| A, |
| B, |
| } |
| |
| #[no_mangle] |
| pub fn exhaustive_match(e: E) -> u8 { |
| match e { |
| E::A => 0, |
| E::B => 1, |
| } |
| } |
| |
| #[no_mangle] |
| pub fn exhaustive_match_i8(e: E) -> i8 { |
| match e { |
| E::A => 0, |
| E::B => 1, |
| } |
| } |
| |
| fn main() { |
| assert_eq!(exhaustive_match(E::A), 0); |
| assert_eq!(exhaustive_match(E::B), 1); |
| |
| assert_eq!(exhaustive_match_i8(E::A), 0); |
| assert_eq!(exhaustive_match_i8(E::B), 1); |
| } |