04298204ed
When encountering a unit or tuple pattern for a struct-like item, suggest using the correct pattern. Use `insert_field_names_local` when evaluating variants and store field names even when the list is empty in order to produce accurate structured suggestions.
139 lines
4.2 KiB
Plaintext
139 lines
4.2 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
|
|
|
|
|
help: consider importing this tuple struct instead
|
|
|
|
|
LL | use m::S;
|
|
|
|
|
|
|
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);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
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);
|
|
| ^^^^^^^^^^^^^^^^^
|
|
|
|
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);
|
|
| ^^^^^^^^^^^^^^^^^
|
|
|
|
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);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
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`.
|