31 lines
729 B
Rust
31 lines
729 B
Rust
|
// 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.");
|
||
|
}
|
||
|
}
|