| #![feature(default_field_values)] | |
| pub mod foo { | |
| #[derive(Default)] | |
| pub struct Alpha { | |
| beta: u8 = 42, | |
| gamma: bool = true, | |
| } | |
| } | |
| mod bar { | |
| use crate::foo::Alpha; | |
| fn baz() { | |
| let _x = Alpha { .. }; | |
| //~^ ERROR fields `beta` and `gamma` of struct `Alpha` are private | |
| let _x = Alpha { | |
| beta: 0, //~ ERROR fields `beta` and `gamma` of struct `Alpha` are private | |
| gamma: false, | |
| }; | |
| let _x = Alpha { | |
| beta: 0, //~ ERROR fields `beta` and `gamma` of struct `Alpha` are private | |
| .. | |
| }; | |
| let _x = Alpha { beta: 0, .. }; | |
| //~^ ERROR fields `beta` and `gamma` of struct `Alpha` are private | |
| let _x = Alpha { beta: 0, ..Default::default() }; | |
| //~^ ERROR fields `beta` and `gamma` of struct `Alpha` are private | |
| } | |
| } | |
| pub mod baz { | |
| pub struct S { | |
| x: i32 = 1, | |
| } | |
| } | |
| fn main() { | |
| let _a = baz::S { | |
| .. //~ ERROR field `x` of struct `S` is private | |
| }; | |
| let _b = baz::S { | |
| x: 0, //~ ERROR field `x` of struct `S` is private | |
| }; | |
| } |