| #![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, .. }; | |
| } |