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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
error: `mut` must be followed by a named binding
--> $DIR/mut-patterns.rs:9:9
|
LL | let mut _ = 0;
| ^^^^^ help: remove the `mut` prefix: `_`
|
= note: `mut` may be followed by `variable` and `variable @ pattern`
error: `mut` must be followed by a named binding
--> $DIR/mut-patterns.rs:10:9
|
LL | let mut (_, _) = (0, 0);
| ^^^^^^^^^^ help: remove the `mut` prefix: `(_, _)`
|
= note: `mut` may be followed by `variable` and `variable @ pattern`
error: `mut` must be attached to each individual binding
--> $DIR/mut-patterns.rs:12:9
|
LL | let mut (x @ y) = 0;
| ^^^^^^^^^^^ help: add `mut` to each binding: `(mut x @ mut y)`
|
= note: `mut` may be followed by `variable` and `variable @ pattern`
error: `mut` on a binding may not be repeated
--> $DIR/mut-patterns.rs:14:13
|
LL | let mut mut x = 0;
| ^^^ help: remove the additional `mut`s
error: `mut` must be attached to each individual binding
--> $DIR/mut-patterns.rs:19:9
|
LL | let mut Foo { x: x } = Foo { x: 3 };
| ^^^^^^^^^^^^^^^^ help: add `mut` to each binding: `Foo { x: mut x }`
|
= note: `mut` may be followed by `variable` and `variable @ pattern`
error: `mut` must be attached to each individual binding
--> $DIR/mut-patterns.rs:23:9
|
LL | let mut Foo { x } = Foo { x: 3 };
| ^^^^^^^^^^^^^ help: add `mut` to each binding: `Foo { mut x }`
|
= note: `mut` may be followed by `variable` and `variable @ pattern`
error: `mut` on a binding may not be repeated
--> $DIR/mut-patterns.rs:28:13
|
LL | let mut mut yield(become, await) = r#yield(0, 0);
| ^^^ help: remove the additional `mut`s
error: expected identifier, found reserved keyword `yield`
--> $DIR/mut-patterns.rs:28:17
|
LL | let mut mut yield(become, await) = r#yield(0, 0);
| ^^^^^ expected identifier, found reserved keyword
|
help: escape `yield` to use it as an identifier
|
LL | let mut mut r#yield(become, await) = r#yield(0, 0);
| ++
error: expected identifier, found reserved keyword `become`
--> $DIR/mut-patterns.rs:28:23
|
LL | let mut mut yield(become, await) = r#yield(0, 0);
| ^^^^^^ expected identifier, found reserved keyword
|
help: escape `become` to use it as an identifier
|
LL | let mut mut yield(r#become, await) = r#yield(0, 0);
| ++
error: expected identifier, found keyword `await`
--> $DIR/mut-patterns.rs:28:31
|
LL | let mut mut yield(become, await) = r#yield(0, 0);
| ^^^^^ expected identifier, found keyword
|
help: escape `await` to use it as an identifier
|
LL | let mut mut yield(become, r#await) = r#yield(0, 0);
| ++
error: `mut` must be attached to each individual binding
--> $DIR/mut-patterns.rs:28:9
|
LL | let mut mut yield(become, await) = r#yield(0, 0);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add `mut` to each binding: `r#yield(mut r#become, mut r#await)`
|
= note: `mut` may be followed by `variable` and `variable @ pattern`
error: `mut` must be attached to each individual binding
--> $DIR/mut-patterns.rs:37:9
|
LL | let mut W(mut a, W(b, W(ref c, W(d, B { box f }))))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add `mut` to each binding: `W(mut a, W(mut b, W(ref c, W(mut d, B { box mut f }))))`
|
= note: `mut` may be followed by `variable` and `variable @ pattern`
error: expected identifier, found `x`
--> $DIR/mut-patterns.rs:44:21
|
LL | let mut $p = 0;
| ^^ expected identifier
...
LL | foo!(x);
| ------- in this macro invocation
|
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 13 previous errors
|