Previously, this code treated enum fields' visibility as if they were struct fields. However, that's not correct because the visibility of a struct field with `ast::VisibilityKind::Inherited` is private to the module it's defined in, whereas the visibility of an *enum* field with `ast::VisibilityKind::Inherited` is the visibility of the enum it belongs to.
33 lines
948 B
Text
33 lines
948 B
Text
error[E0063]: missing field `private` in initializer of `Pub`
|
|
--> $DIR/issue-79593.rs:10:9
|
|
|
|
|
LL | Pub {};
|
|
| ^^^ missing `private`
|
|
|
|
error[E0063]: missing field `y` in initializer of `Enum`
|
|
--> $DIR/issue-79593.rs:12:9
|
|
|
|
|
LL | Enum::Variant { x: () };
|
|
| ^^^^^^^^^^^^^ missing `y`
|
|
|
|
error: cannot construct `Pub` with struct literal syntax due to inaccessible fields
|
|
--> $DIR/issue-79593.rs:18:5
|
|
|
|
|
LL | foo::Pub {};
|
|
| ^^^^^^^^
|
|
|
|
error[E0063]: missing field `y` in initializer of `Enum`
|
|
--> $DIR/issue-79593.rs:23:5
|
|
|
|
|
LL | foo::Enum::Variant { x: () };
|
|
| ^^^^^^^^^^^^^^^^^^ missing `y`
|
|
|
|
error[E0063]: missing fields `x`, `y` in initializer of `Enum`
|
|
--> $DIR/issue-79593.rs:25:5
|
|
|
|
|
LL | foo::Enum::Variant { };
|
|
| ^^^^^^^^^^^^^^^^^^ missing `x`, `y`
|
|
|
|
error: aborting due to 5 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0063`.
|