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