Emit single privacy error for struct literal with multiple private fields and add test for `default_field_values` privacy
Add test ensuring that struct with default field values is not constructable if the fields are not accessible.
Collect all unreachable fields in a single struct literal struct and emit a single error, instead of one error per private field.
```
error[E0451]: fields `beta` and `gamma` of struct `Alpha` are private
--> $DIR/visibility.rs:18:13
|
LL | let _x = Alpha {
| ----- in this type
LL | beta: 0,
| ^^^^^^^ private field
LL | ..
| ^^ field `gamma` is private
```
|
||
|---|---|---|
| .. | ||
| auxiliary | ||
| empty-struct.rs | ||
| empty-struct.stderr | ||
| failures.rs | ||
| failures.stderr | ||
| invalid-const.rs | ||
| invalid-const.stderr | ||
| support.rs | ||
| use-normalized-ty-for-default-struct-value.rs | ||
| visibility.rs | ||
| visibility.stderr | ||