2020-03-30 18:10:39 +00:00
|
|
|
// 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
|
2020-04-10 21:59:21 +00:00
|
|
|
// no-system-llvm
|
2020-03-30 18:10:39 +00:00
|
|
|
|
|
|
|
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.");
|
|
|
|
}
|
|
|
|
}
|