]> git.lizzy.rs Git - rust.git/blob - src/test/ui/rfc-2008-non-exhaustive/struct.stderr
Rollup merge of #94726 - lnicola:rust-analyzer-2022-03-08, r=lnicola
[rust.git] / src / test / ui / rfc-2008-non-exhaustive / struct.stderr
1 error[E0423]: cannot initialize a tuple struct which contains private fields
2   --> $DIR/struct.rs:20:14
3    |
4 LL |     let ts = TupleStruct(640, 480);
5    |              ^^^^^^^^^^^
6
7 error[E0423]: expected value, found struct `UnitStruct`
8   --> $DIR/struct.rs:29:14
9    |
10 LL |     let us = UnitStruct;
11    |              ^^^^^^^^^^ constructor is not visible here due to private fields
12
13 error[E0603]: tuple struct constructor `TupleStruct` is private
14   --> $DIR/struct.rs:23:32
15    |
16 LL |     let ts_explicit = structs::TupleStruct(640, 480);
17    |                                ^^^^^^^^^^^ private tuple struct constructor
18    |
19   ::: $DIR/auxiliary/structs.rs:12:24
20    |
21 LL | pub struct TupleStruct(pub u16, pub u16);
22    |                        ---------------- a constructor is private if any of the fields is private
23    |
24 note: the tuple struct constructor `TupleStruct` is defined here
25   --> $DIR/auxiliary/structs.rs:12:1
26    |
27 LL | pub struct TupleStruct(pub u16, pub u16);
28    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
29
30 error[E0603]: unit struct `UnitStruct` is private
31   --> $DIR/struct.rs:32:32
32    |
33 LL |     let us_explicit = structs::UnitStruct;
34    |                                ^^^^^^^^^^ private unit struct
35    |
36 note: the unit struct `UnitStruct` is defined here
37   --> $DIR/auxiliary/structs.rs:9:1
38    |
39 LL | pub struct UnitStruct;
40    | ^^^^^^^^^^^^^^^^^^^^^^
41
42 error[E0639]: cannot create non-exhaustive struct using struct expression
43   --> $DIR/struct.rs:7:14
44    |
45 LL |       let fr = FunctionalRecord {
46    |  ______________^
47 LL | |
48 LL | |         first_field: 1920,
49 LL | |         second_field: 1080,
50 LL | |         ..FunctionalRecord::default()
51 LL | |     };
52    | |_____^
53
54 error[E0639]: cannot create non-exhaustive struct using struct expression
55   --> $DIR/struct.rs:14:14
56    |
57 LL |     let ns = NormalStruct { first_field: 640, second_field: 480 };
58    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
59
60 error[E0638]: `..` required with struct marked as non-exhaustive
61   --> $DIR/struct.rs:17:9
62    |
63 LL |     let NormalStruct { first_field, second_field } = ns;
64    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
65    |
66 help: add `..` at the end of the field list to ignore all other fields
67    |
68 LL |     let NormalStruct { first_field, second_field , .. } = ns;
69    |                                                  ~~~~~~
70
71 error[E0638]: `..` required with struct marked as non-exhaustive
72   --> $DIR/struct.rs:26:9
73    |
74 LL |     let TupleStruct { 0: first_field, 1: second_field } = ts;
75    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
76    |
77 help: add `..` at the end of the field list to ignore all other fields
78    |
79 LL |     let TupleStruct { 0: first_field, 1: second_field , .. } = ts;
80    |                                                       ~~~~~~
81
82 error[E0638]: `..` required with struct marked as non-exhaustive
83   --> $DIR/struct.rs:35:9
84    |
85 LL |     let UnitStruct { } = us;
86    |         ^^^^^^^^^^^^^^
87    |
88 help: add `..` at the end of the field list to ignore all other fields
89    |
90 LL |     let UnitStruct { .. } = us;
91    |                      ~~~~
92
93 error: aborting due to 9 previous errors
94
95 Some errors have detailed explanations: E0423, E0603, E0638, E0639.
96 For more information about an error, try `rustc --explain E0423`.