blob: 047505c3f1cab65a17ff9d2c388aca7fca24715e [file] [log] [blame]
//@ 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
}