mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 04:57:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| // Regression test for issue #3645
 | |
| 
 | |
| //@ dont-require-annotations: NOTE
 | |
| 
 | |
| fn main() {
 | |
|     let n = 1;
 | |
|     let a = [0; n];
 | |
|     //~^ ERROR attempt to use a non-constant value in a constant [E0435]
 | |
|     let b = [0; ()];
 | |
|     //~^ ERROR mismatched types
 | |
|     //~| NOTE expected `usize`, found `()`
 | |
|     let c = [0; true];
 | |
|     //~^ ERROR mismatched types
 | |
|     //~| NOTE expected `usize`, found `bool`
 | |
|     let d = [0; 0.5];
 | |
|     //~^ ERROR mismatched types
 | |
|     //~| NOTE expected `usize`, found floating-point number
 | |
|     let e = [0; "foo"];
 | |
|     //~^ ERROR mismatched types
 | |
|     //~| NOTE expected `usize`, found `&str`
 | |
|     let f = [0; -4_isize];
 | |
|     //~^ ERROR mismatched types
 | |
|     //~| NOTE expected `usize`, found `isize`
 | |
|     let f = [0_usize; -1_isize];
 | |
|     //~^ ERROR mismatched types
 | |
|     //~| NOTE expected `usize`, found `isize`
 | |
|     let f = [0; 4u8];
 | |
|     //~^ ERROR mismatched types
 | |
|     //~| NOTE expected `usize`, found `u8`
 | |
|     struct G {
 | |
|         g: (),
 | |
|     }
 | |
|     let g = [0; G { g: () }];
 | |
|     //~^ ERROR mismatched types
 | |
|     //~| NOTE expected `usize`, found `G`
 | |
| }
 | 
