about summary refs log tree commit diff
path: root/tests/ui/destructuring-assignment/struct_destructure_fail.stderr
blob: 2d02e33b2586b7a882c8d8d38121eb3e6c6c61cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
error: expected identifier, found reserved identifier `_`
  --> $DIR/struct_destructure_fail.rs:11:17
   |
LL |     Struct { a, _ } = Struct { a: 1, b: 2 };
   |     ------      ^ expected identifier, found reserved identifier
   |     |
   |     while parsing this struct

error: functional record updates are not allowed in destructuring assignments
  --> $DIR/struct_destructure_fail.rs:13:19
   |
LL |     Struct { a, ..d } = Struct { a: 1, b: 2 };
   |                   ^ help: consider removing the trailing pattern

error[E0026]: struct `Struct` does not have a field named `c`
  --> $DIR/struct_destructure_fail.rs:10:20
   |
LL |     Struct { a, b, c } = Struct { a: 0, b: 1 };
   |                    ^ struct `Struct` does not have this field

error[E0027]: pattern does not mention field `b`
  --> $DIR/struct_destructure_fail.rs:11:5
   |
LL |     Struct { a, _ } = Struct { a: 1, b: 2 };
   |     ^^^^^^^^^^^^^^^ missing field `b`
   |
help: include the missing field in the pattern
   |
LL -     Struct { a, _ } = Struct { a: 1, b: 2 };
LL +     Struct { a, b } = Struct { a: 1, b: 2 };
   |
help: if you don't care about this missing field, you can explicitly ignore it
   |
LL |     Struct { a, b: _ } = Struct { a: 1, b: 2 };
   |                 ++
help: or always ignore missing fields here
   |
LL -     Struct { a, _ } = Struct { a: 1, b: 2 };
LL +     Struct { a, .. } = Struct { a: 1, b: 2 };
   |

error[E0797]: base expression required after `..`
  --> $DIR/struct_destructure_fail.rs:15:19
   |
LL |     Struct { a, .. };
   |                   ^
   |
help: add a base expression here
   |
LL |     Struct { a, ../* expr */ };
   |                   ++++++++++

error: aborting due to 5 previous errors

Some errors have detailed explanations: E0026, E0027, E0797.
For more information about an error, try `rustc --explain E0026`.