rust/tests/ui/resolve/privacy-struct-ctor.stderr
Esteban Küber 41e66d9025 review comments: Tweak output
* Account for `struct S(pub(super)Ty);` in suggestion
* Suggest changing field visibility in E0603 too
2023-01-11 21:36:02 +00:00

156 lines
4.8 KiB
Plaintext

error[E0423]: expected value, found struct `Z`
--> $DIR/privacy-struct-ctor.rs:20:9
|
LL | pub struct S(u8);
| ----------------- similarly named tuple struct `S` defined here
...
LL | Z;
| ^
| |
| constructor is not visible here due to private fields
| help: a tuple struct with a similar name exists: `S`
error[E0423]: expected value, found struct `S`
--> $DIR/privacy-struct-ctor.rs:33:5
|
LL | S;
| ^ constructor is not visible here due to private fields
error[E0423]: expected value, found struct `S2`
--> $DIR/privacy-struct-ctor.rs:38:5
|
LL | / pub struct S2 {
LL | | s: u8
LL | | }
| |_____- `S2` defined here
...
LL | S2;
| ^^ help: use struct literal syntax instead: `S2 { s: val }`
error[E0423]: expected value, found struct `xcrate::S`
--> $DIR/privacy-struct-ctor.rs:43:5
|
LL | xcrate::S;
| ^^^^^^^^^ constructor is not visible here due to private fields
|
note: tuple struct `m::S` exists but is inaccessible
--> $DIR/privacy-struct-ctor.rs:6:5
|
LL | pub struct S(u8);
| ^^^^^^^^^^^^^^^^^ not accessible
error[E0603]: tuple struct constructor `Z` is private
--> $DIR/privacy-struct-ctor.rs:18:12
|
LL | pub(in m) struct Z(pub(in m::n) u8);
| --------------- a constructor is private if any of the fields is private
...
LL | n::Z;
| ^ private tuple struct constructor
|
note: the tuple struct constructor `Z` is defined here
--> $DIR/privacy-struct-ctor.rs:12:9
|
LL | pub(in m) struct Z(pub(in m::n) u8);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: consider making the field publicly accessible
|
LL | pub(in m) struct Z(pub u8);
| ~~~
error[E0603]: tuple struct constructor `S` is private
--> $DIR/privacy-struct-ctor.rs:29:8
|
LL | pub struct S(u8);
| -- a constructor is private if any of the fields is private
...
LL | m::S;
| ^ private tuple struct constructor
|
note: the tuple struct constructor `S` is defined here
--> $DIR/privacy-struct-ctor.rs:6:5
|
LL | pub struct S(u8);
| ^^^^^^^^^^^^^^^^^
help: consider making the field publicly accessible
|
LL | pub struct S(pub u8);
| +++
error[E0603]: tuple struct constructor `S` is private
--> $DIR/privacy-struct-ctor.rs:31:19
|
LL | pub struct S(u8);
| -- a constructor is private if any of the fields is private
...
LL | let _: S = m::S(2);
| ^ private tuple struct constructor
|
note: the tuple struct constructor `S` is defined here
--> $DIR/privacy-struct-ctor.rs:6:5
|
LL | pub struct S(u8);
| ^^^^^^^^^^^^^^^^^
help: consider making the field publicly accessible
|
LL | pub struct S(pub u8);
| +++
error[E0603]: tuple struct constructor `Z` is private
--> $DIR/privacy-struct-ctor.rs:35:11
|
LL | pub(in m) struct Z(pub(in m::n) u8);
| --------------- a constructor is private if any of the fields is private
...
LL | m::n::Z;
| ^ private tuple struct constructor
|
note: the tuple struct constructor `Z` is defined here
--> $DIR/privacy-struct-ctor.rs:12:9
|
LL | pub(in m) struct Z(pub(in m::n) u8);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: consider making the field publicly accessible
|
LL | pub(in m) struct Z(pub u8);
| ~~~
error[E0603]: tuple struct constructor `S` is private
--> $DIR/privacy-struct-ctor.rs:41:16
|
LL | xcrate::m::S;
| ^ private tuple struct constructor
|
::: $DIR/auxiliary/privacy-struct-ctor.rs:2:18
|
LL | pub struct S(u8);
| -- a constructor is private if any of the fields is private
|
note: the tuple struct constructor `S` is defined here
--> $DIR/auxiliary/privacy-struct-ctor.rs:2:5
|
LL | pub struct S(u8);
| ^^^^^^^^^^^^
error[E0603]: tuple struct constructor `Z` is private
--> $DIR/privacy-struct-ctor.rs:45:19
|
LL | xcrate::m::n::Z;
| ^ private tuple struct constructor
|
::: $DIR/auxiliary/privacy-struct-ctor.rs:5:28
|
LL | pub(in m) struct Z(pub(in m::n) u8);
| --------------- a constructor is private if any of the fields is private
|
note: the tuple struct constructor `Z` is defined here
--> $DIR/auxiliary/privacy-struct-ctor.rs:5:9
|
LL | pub(in m) struct Z(pub(in m::n) u8);
| ^^^^^^^^^^^^^^^^^^
error: aborting due to 10 previous errors
Some errors have detailed explanations: E0423, E0603.
For more information about an error, try `rustc --explain E0423`.