| // This is a regression test for issue rust-lang/rust#69841, which exposed an | |
| // LLVM bug which needed a fix to be backported. | |
| //@ run-pass | |
| fn main() { | |
| let buffer = [49u8, 10]; | |
| let mut a : u64 = 0; | |
| 'read: loop { | |
| for c in &buffer { | |
| match c { | |
| 48..=57 => { | |
| a*= 10; | |
| a+= *c as u64 - 48; | |
| } | |
| 10 => { | |
| break 'read; | |
| } | |
| _ => { | |
| unsafe { std::hint::unreachable_unchecked() }; | |
| } | |
| } | |
| } | |
| } | |
| if a == 1 { | |
| println!("What did you expect?"); | |
| } else { | |
| panic!("this should be unreachable."); | |
| } | |
| } |