mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			728 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			728 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.");
 | 
						|
    }
 | 
						|
}
 |