rust/tests/ui/structs/default-field-values/empty-struct.rs
Esteban Küber 27f079ae24 Disallow A { .. } if A has no fields
```
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
```
2025-01-18 21:05:09 +00:00

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