rust/tests/ui/rfcs/rfc-2008-non-exhaustive/struct.stderr

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

96 lines
3.2 KiB
Plaintext
Raw Normal View History

2018-08-08 07:28:26 -05:00
error[E0423]: expected value, found struct `UnitStruct`
--> $DIR/struct.rs:29:14
2018-08-08 07:28:26 -05:00
|
LL | let us = UnitStruct;
| ^^^^^^^^^^ constructor is not visible here due to private fields
error[E0603]: tuple struct constructor `TupleStruct` is private
--> $DIR/struct.rs:23:32
2018-08-08 07:28:26 -05:00
|
LL | let ts_explicit = structs::TupleStruct(640, 480);
| ^^^^^^^^^^^ private tuple struct constructor
|
note: the tuple struct constructor `TupleStruct` is defined here
--> $DIR/auxiliary/structs.rs:12:1
|
2023-04-06 11:52:17 -05:00
LL | #[non_exhaustive]
| ----------------- cannot be constructed because it is `#[non_exhaustive]`
LL | pub struct TupleStruct(pub u16, pub u16);
2022-02-13 09:27:59 -06:00
| ^^^^^^^^^^^^^^^^^^^^^^
2018-08-08 07:28:26 -05:00
error[E0603]: unit struct `UnitStruct` is private
--> $DIR/struct.rs:32:32
2018-08-08 07:28:26 -05:00
|
LL | let us_explicit = structs::UnitStruct;
| ^^^^^^^^^^ private unit struct
|
note: the unit struct `UnitStruct` is defined here
--> $DIR/auxiliary/structs.rs:9:1
|
2023-04-06 11:52:17 -05:00
LL | #[non_exhaustive]
| ----------------- cannot be constructed because it is `#[non_exhaustive]`
LL | pub struct UnitStruct;
2022-02-13 09:27:59 -06:00
| ^^^^^^^^^^^^^^^^^^^^^
2018-08-08 07:28:26 -05:00
error[E0639]: cannot create non-exhaustive struct using struct expression
--> $DIR/struct.rs:7:14
2018-08-08 07:28:26 -05:00
|
LL | let fr = FunctionalRecord {
| ______________^
2019-03-09 06:03:44 -06:00
LL | |
2018-08-08 07:28:26 -05:00
LL | | first_field: 1920,
LL | | second_field: 1080,
LL | | ..FunctionalRecord::default()
LL | | };
| |_____^
error[E0639]: cannot create non-exhaustive struct using struct expression
--> $DIR/struct.rs:14:14
2018-08-08 07:28:26 -05:00
|
LL | let ns = NormalStruct { first_field: 640, second_field: 480 };
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0638]: `..` required with struct marked as non-exhaustive
--> $DIR/struct.rs:17:9
2018-08-08 07:28:26 -05:00
|
LL | let NormalStruct { first_field, second_field } = ns;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2020-03-25 20:29:42 -05:00
help: add `..` at the end of the field list to ignore all other fields
|
LL | let NormalStruct { first_field, second_field , .. } = ns;
| ~~~~~~
2018-08-08 07:28:26 -05:00
error[E0423]: cannot initialize a tuple struct which contains private fields
--> $DIR/struct.rs:20:14
|
LL | let ts = TupleStruct(640, 480);
| ^^^^^^^^^^^
2018-08-08 07:28:26 -05:00
error[E0638]: `..` required with struct marked as non-exhaustive
--> $DIR/struct.rs:26:9
2018-08-08 07:28:26 -05:00
|
LL | let TupleStruct { 0: first_field, 1: second_field } = ts;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2020-03-25 20:29:42 -05:00
help: add `..` at the end of the field list to ignore all other fields
|
LL | let TupleStruct { 0: first_field, 1: second_field , .. } = ts;
| ~~~~~~
2018-08-08 07:28:26 -05:00
error[E0638]: `..` required with struct marked as non-exhaustive
--> $DIR/struct.rs:35:9
2018-08-08 07:28:26 -05:00
|
LL | let UnitStruct { } = us;
| ^^^^^^^^^^^^^^
|
2020-03-25 20:29:42 -05:00
help: add `..` at the end of the field list to ignore all other fields
|
LL | let UnitStruct { .. } = us;
| ~~~~
2018-08-08 07:28:26 -05:00
error: aborting due to 9 previous errors
Some errors have detailed explanations: E0423, E0603, E0638, E0639.
2018-08-08 07:28:26 -05:00
For more information about an error, try `rustc --explain E0423`.