mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 04:57:19 +00:00 
			
		
		
		
	 27f079ae24
			
		
	
	
		27f079ae24
		
	
	
	
	
		
			
			```
error: `A` has no fields, `..` needs at least one default field in the struct definition
  --> $DIR/empty-struct.rs:16:17
   |
LL |     let _ = A { .. };
   |             -   ^^
   |             |
   |             this type has no fields
```
		
	
			
		
			
				
	
	
		
			22 lines
		
	
	
		
			567 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			567 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| #![feature(default_field_values)]
 | |
| 
 | |
| // If an API wants users to always use `..` even if they specify all the fields, they should use a
 | |
| // sentinel field. As of now, that field can't be made private so it is only constructable with this
 | |
| // syntax, but this might change in the future.
 | |
| 
 | |
| struct A {}
 | |
| struct B();
 | |
| struct C;
 | |
| struct D {
 | |
|     x: i32,
 | |
| }
 | |
| struct E(i32);
 | |
| 
 | |
| fn main() {
 | |
|     let _ = A { .. }; //~ ERROR has no fields
 | |
|     let _ = B { .. }; //~ ERROR has no fields
 | |
|     let _ = C { .. }; //~ ERROR has no fields
 | |
|     let _ = D { x: 0, .. };
 | |
|     let _ = E { 0: 0, .. };
 | |
| }
 |