mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	 3dc083dfd8
			
		
	
	
		3dc083dfd8
		
	
	
	
	
		
			
			This commit adds a new test file 'array-from_fn.rs' to the codegen test suite. The test checks the behavior of std::array::from_fn under different optimization levels: 1. At opt-level=0 (debug build), it verifies that the core::array::Guard is present in the generated code. 2. At opt-level=s (size optimization), it ensures that the Guard is optimized out. This test helps ensure that the compiler correctly optimizes array::from_fn calls in release builds while maintaining safety checks in debug builds.
		
			
				
	
	
		
			14 lines
		
	
	
		
			339 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			14 lines
		
	
	
		
			339 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //@ revisions: NORMAL OPT
 | |
| //@ [NORMAL] compile-flags: -C opt-level=0 -C debuginfo=2
 | |
| //@ [OPT] compile-flags: -C opt-level=s -C debuginfo=0
 | |
| 
 | |
| #![crate_type = "lib"]
 | |
| #![feature(array_from_fn)]
 | |
| 
 | |
| #[no_mangle]
 | |
| pub fn iota() -> [u8; 16] {
 | |
|     // OPT-NOT: core..array..Guard
 | |
|     // NORMAL: core..array..Guard
 | |
|     std::array::from_fn(|i| i as _)
 | |
| }
 |