mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-03 13:37:37 +00:00

``` error: `A` has no fields, `..` needs at least one default field in the struct definition --> $DIR/empty-struct.rs:16:17 | LL | let _ = A { .. }; | - ^^ | | | this type has no fields ```
22 lines
567 B
Rust
22 lines
567 B
Rust
#![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, .. };
|
|
}
|