mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			23 lines
		
	
	
		
			528 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			528 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //! Issue: <https://github.com/rust-lang/rust/issues/133979>
 | |
| //! Check that bounds checking are eliminated.
 | |
| 
 | |
| //@ compile-flags: -Copt-level=2
 | |
| 
 | |
| #![crate_type = "lib"]
 | |
| 
 | |
| // CHECK-LABEL: @test(
 | |
| #[no_mangle]
 | |
| fn test(a: &[&[u8]]) -> u32 {
 | |
|     // CHECK-NOT: panic_bounds_check
 | |
|     a.iter()
 | |
|         .enumerate()
 | |
|         .map(|(y, b)| {
 | |
|             b.iter()
 | |
|                 .enumerate()
 | |
|                 .filter(|(_, c)| **c == b'A')
 | |
|                 .map(|(x, _)| a[y][x] as u32)
 | |
|                 .sum::<u32>()
 | |
|         })
 | |
|         .sum()
 | |
| }
 |