//@ aux-build:struct_field_default.rs #![feature(default_field_values)] extern crate struct_field_default as xc; use m::S; mod m { pub struct S { pub field: () = (), pub field1: Priv1 = Priv1 {}, pub field2: Priv2 = Priv2, } struct Priv1 {} struct Priv2; } fn main() { let _ = S { field: (), field1: m::Priv1 {} }; //~^ ERROR missing field `field2` //~| ERROR struct `Priv1` is private let _ = S { field: (), field1: m::Priv1 {}, field2: m::Priv2 }; //~^ ERROR struct `Priv1` is private //~| ERROR unit struct `Priv2` is private let _ = xc::B { a: xc::Priv }; //~^ ERROR unit struct `Priv` is private let _ = xc::C { a: xc::Priv }; //~^ ERROR unit struct `Priv` is private }