1 error[E0594]: cannot assign to `*x` which is behind a `&` reference
2 --> $DIR/mutability-errors.rs:19:5
4 LL | fn named_ref(x: &(i32,)) {
5 | ------- help: consider changing this to be a mutable reference: `&mut (i32,)`
6 LL | *x = (1,); //~ ERROR
7 | ^^^^^^^^^ `x` is a `&` reference, so the data it refers to cannot be written
9 error[E0594]: cannot assign to `x.0` which is behind a `&` reference
10 --> $DIR/mutability-errors.rs:20:5
12 LL | fn named_ref(x: &(i32,)) {
13 | ------- help: consider changing this to be a mutable reference: `&mut (i32,)`
14 LL | *x = (1,); //~ ERROR
15 LL | x.0 = 1; //~ ERROR
16 | ^^^^^^^ `x` is a `&` reference, so the data it refers to cannot be written
18 error[E0596]: cannot borrow `*x` as mutable, as it is behind a `&` reference
19 --> $DIR/mutability-errors.rs:21:5
21 LL | fn named_ref(x: &(i32,)) {
22 | ------- help: consider changing this to be a mutable reference: `&mut (i32,)`
24 LL | &mut *x; //~ ERROR
25 | ^^^^^^^ `x` is a `&` reference, so the data it refers to cannot be borrowed as mutable
27 error[E0596]: cannot borrow `x.0` as mutable, as it is behind a `&` reference
28 --> $DIR/mutability-errors.rs:22:5
30 LL | fn named_ref(x: &(i32,)) {
31 | ------- help: consider changing this to be a mutable reference: `&mut (i32,)`
33 LL | &mut x.0; //~ ERROR
34 | ^^^^^^^^ `x` is a `&` reference, so the data it refers to cannot be borrowed as mutable
36 error[E0594]: cannot assign to data in a `&` reference
37 --> $DIR/mutability-errors.rs:26:5
39 LL | *f() = (1,); //~ ERROR
40 | ^^^^^^^^^^^ cannot assign
42 error[E0594]: cannot assign to data in a `&` reference
43 --> $DIR/mutability-errors.rs:27:5
45 LL | f().0 = 1; //~ ERROR
46 | ^^^^^^^^^ cannot assign
48 error[E0596]: cannot borrow data in a `&` reference as mutable
49 --> $DIR/mutability-errors.rs:28:5
51 LL | &mut *f(); //~ ERROR
52 | ^^^^^^^^^ cannot borrow as mutable
54 error[E0596]: cannot borrow data in a `&` reference as mutable
55 --> $DIR/mutability-errors.rs:29:5
57 LL | &mut f().0; //~ ERROR
58 | ^^^^^^^^^^ cannot borrow as mutable
60 error[E0594]: cannot assign to `*x` which is behind a `*const` pointer
61 --> $DIR/mutability-errors.rs:33:5
63 LL | unsafe fn named_ptr(x: *const (i32,)) {
64 | ------------- help: consider changing this to be a mutable pointer: `*mut (i32,)`
65 LL | *x = (1,); //~ ERROR
66 | ^^^^^^^^^ `x` is a `*const` pointer, so the data it refers to cannot be written
68 error[E0594]: cannot assign to `x.0` which is behind a `*const` pointer
69 --> $DIR/mutability-errors.rs:34:5
71 LL | unsafe fn named_ptr(x: *const (i32,)) {
72 | ------------- help: consider changing this to be a mutable pointer: `*mut (i32,)`
73 LL | *x = (1,); //~ ERROR
74 LL | (*x).0 = 1; //~ ERROR
75 | ^^^^^^^^^^ `x` is a `*const` pointer, so the data it refers to cannot be written
77 error[E0596]: cannot borrow `*x` as mutable, as it is behind a `*const` pointer
78 --> $DIR/mutability-errors.rs:35:5
80 LL | unsafe fn named_ptr(x: *const (i32,)) {
81 | ------------- help: consider changing this to be a mutable pointer: `*mut (i32,)`
83 LL | &mut *x; //~ ERROR
84 | ^^^^^^^ `x` is a `*const` pointer, so the data it refers to cannot be borrowed as mutable
86 error[E0596]: cannot borrow `x.0` as mutable, as it is behind a `*const` pointer
87 --> $DIR/mutability-errors.rs:36:5
89 LL | unsafe fn named_ptr(x: *const (i32,)) {
90 | ------------- help: consider changing this to be a mutable pointer: `*mut (i32,)`
92 LL | &mut (*x).0; //~ ERROR
93 | ^^^^^^^^^^^ `x` is a `*const` pointer, so the data it refers to cannot be borrowed as mutable
95 error[E0594]: cannot assign to data in a `*const` pointer
96 --> $DIR/mutability-errors.rs:40:5
98 LL | *f() = (1,); //~ ERROR
99 | ^^^^^^^^^^^ cannot assign
101 error[E0594]: cannot assign to data in a `*const` pointer
102 --> $DIR/mutability-errors.rs:41:5
104 LL | (*f()).0 = 1; //~ ERROR
105 | ^^^^^^^^^^^^ cannot assign
107 error[E0596]: cannot borrow data in a `*const` pointer as mutable
108 --> $DIR/mutability-errors.rs:42:5
110 LL | &mut *f(); //~ ERROR
111 | ^^^^^^^^^ cannot borrow as mutable
113 error[E0596]: cannot borrow data in a `*const` pointer as mutable
114 --> $DIR/mutability-errors.rs:43:5
116 LL | &mut (*f()).0; //~ ERROR
117 | ^^^^^^^^^^^^^ cannot borrow as mutable
119 error[E0594]: cannot assign to `x`, as it is a captured variable in a `Fn` closure
120 --> $DIR/mutability-errors.rs:50:9
122 LL | x = (1,); //~ ERROR
123 | ^^^^^^^^ cannot assign
125 help: consider changing this to accept closures that implement `FnMut`
126 --> $DIR/mutability-errors.rs:49:12
130 LL | | x = (1,); //~ ERROR
131 LL | | x.0 = 1; //~ ERROR
132 LL | | &mut x; //~ ERROR
133 LL | | &mut x.0; //~ ERROR
137 error[E0594]: cannot assign to `x.0`, as `Fn` closures cannot mutate their captured variables
138 --> $DIR/mutability-errors.rs:51:9
140 LL | x.0 = 1; //~ ERROR
141 | ^^^^^^^ cannot assign
143 help: consider changing this to accept closures that implement `FnMut`
144 --> $DIR/mutability-errors.rs:49:12
148 LL | | x = (1,); //~ ERROR
149 LL | | x.0 = 1; //~ ERROR
150 LL | | &mut x; //~ ERROR
151 LL | | &mut x.0; //~ ERROR
155 error[E0596]: cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure
156 --> $DIR/mutability-errors.rs:52:9
158 LL | &mut x; //~ ERROR
159 | ^^^^^^ cannot borrow as mutable
161 help: consider changing this to accept closures that implement `FnMut`
162 --> $DIR/mutability-errors.rs:49:12
166 LL | | x = (1,); //~ ERROR
167 LL | | x.0 = 1; //~ ERROR
168 LL | | &mut x; //~ ERROR
169 LL | | &mut x.0; //~ ERROR
173 error[E0596]: cannot borrow `x.0` as mutable, as `Fn` closures cannot mutate their captured variables
174 --> $DIR/mutability-errors.rs:53:9
176 LL | &mut x.0; //~ ERROR
177 | ^^^^^^^^ cannot borrow as mutable
179 help: consider changing this to accept closures that implement `FnMut`
180 --> $DIR/mutability-errors.rs:49:12
184 LL | | x = (1,); //~ ERROR
185 LL | | x.0 = 1; //~ ERROR
186 LL | | &mut x; //~ ERROR
187 LL | | &mut x.0; //~ ERROR
191 error[E0594]: cannot assign to `x`, as it is a captured variable in a `Fn` closure
192 --> $DIR/mutability-errors.rs:56:9
194 LL | x = (1,); //~ ERROR
195 | ^^^^^^^^ cannot assign
197 help: consider changing this to accept closures that implement `FnMut`
198 --> $DIR/mutability-errors.rs:55:12
200 LL | fn_ref(move || {
202 LL | | x = (1,); //~ ERROR
203 LL | | x.0 = 1; //~ ERROR
204 LL | | &mut x; //~ ERROR
205 LL | | &mut x.0; //~ ERROR
209 error[E0594]: cannot assign to `x.0`, as `Fn` closures cannot mutate their captured variables
210 --> $DIR/mutability-errors.rs:57:9
212 LL | x.0 = 1; //~ ERROR
213 | ^^^^^^^ cannot assign
215 help: consider changing this to accept closures that implement `FnMut`
216 --> $DIR/mutability-errors.rs:55:12
218 LL | fn_ref(move || {
220 LL | | x = (1,); //~ ERROR
221 LL | | x.0 = 1; //~ ERROR
222 LL | | &mut x; //~ ERROR
223 LL | | &mut x.0; //~ ERROR
227 error[E0596]: cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure
228 --> $DIR/mutability-errors.rs:58:9
230 LL | &mut x; //~ ERROR
231 | ^^^^^^ cannot borrow as mutable
233 help: consider changing this to accept closures that implement `FnMut`
234 --> $DIR/mutability-errors.rs:55:12
236 LL | fn_ref(move || {
238 LL | | x = (1,); //~ ERROR
239 LL | | x.0 = 1; //~ ERROR
240 LL | | &mut x; //~ ERROR
241 LL | | &mut x.0; //~ ERROR
245 error[E0596]: cannot borrow `x.0` as mutable, as `Fn` closures cannot mutate their captured variables
246 --> $DIR/mutability-errors.rs:59:9
248 LL | &mut x.0; //~ ERROR
249 | ^^^^^^^^ cannot borrow as mutable
251 help: consider changing this to accept closures that implement `FnMut`
252 --> $DIR/mutability-errors.rs:55:12
254 LL | fn_ref(move || {
256 LL | | x = (1,); //~ ERROR
257 LL | | x.0 = 1; //~ ERROR
258 LL | | &mut x; //~ ERROR
259 LL | | &mut x.0; //~ ERROR
263 error[E0596]: cannot borrow `x` as mutable, as it is not declared as mutable
264 --> $DIR/mutability-errors.rs:64:5
266 LL | fn imm_local(x: (i32,)) {
267 | - help: consider changing this to be mutable: `mut x`
268 LL | &mut x; //~ ERROR
269 | ^^^^^^ cannot borrow as mutable
271 error[E0596]: cannot borrow `x.0` as mutable, as `x` is not declared as mutable
272 --> $DIR/mutability-errors.rs:65:5
274 LL | fn imm_local(x: (i32,)) {
275 | - help: consider changing this to be mutable: `mut x`
276 LL | &mut x; //~ ERROR
277 LL | &mut x.0; //~ ERROR
278 | ^^^^^^^^ cannot borrow as mutable
280 error[E0594]: cannot assign to `x`, as it is not declared as mutable
281 --> $DIR/mutability-errors.rs:70:9
283 LL | fn imm_capture(x: (i32,)) {
284 | - help: consider changing this to be mutable: `mut x`
287 | ^^^^^^^^ cannot assign
289 error[E0594]: cannot assign to `x.0`, as `x` is not declared as mutable
290 --> $DIR/mutability-errors.rs:71:9
292 LL | fn imm_capture(x: (i32,)) {
293 | - help: consider changing this to be mutable: `mut x`
296 | ^^^^^^^ cannot assign
298 error[E0596]: cannot borrow `x` as mutable, as it is not declared as mutable
299 --> $DIR/mutability-errors.rs:72:9
301 LL | fn imm_capture(x: (i32,)) {
302 | - help: consider changing this to be mutable: `mut x`
305 | ^^^^^^ cannot borrow as mutable
307 error[E0596]: cannot borrow `x.0` as mutable, as `x` is not declared as mutable
308 --> $DIR/mutability-errors.rs:73:9
310 LL | fn imm_capture(x: (i32,)) {
311 | - help: consider changing this to be mutable: `mut x`
314 | ^^^^^^^^ cannot borrow as mutable
316 error[E0594]: cannot assign to `x`, as it is not declared as mutable
317 --> $DIR/mutability-errors.rs:76:9
319 LL | fn imm_capture(x: (i32,)) {
320 | - help: consider changing this to be mutable: `mut x`
322 LL | x = (1,); //~ ERROR
323 | ^^^^^^^^ cannot assign
325 error[E0594]: cannot assign to `x.0`, as `x` is not declared as mutable
326 --> $DIR/mutability-errors.rs:77:9
328 LL | fn imm_capture(x: (i32,)) {
329 | - help: consider changing this to be mutable: `mut x`
331 LL | x.0 = 1; //~ ERROR
332 | ^^^^^^^ cannot assign
334 error[E0596]: cannot borrow `x` as mutable, as it is not declared as mutable
335 --> $DIR/mutability-errors.rs:78:9
337 LL | fn imm_capture(x: (i32,)) {
338 | - help: consider changing this to be mutable: `mut x`
340 LL | &mut x; //~ ERROR
341 | ^^^^^^ cannot borrow as mutable
343 error[E0596]: cannot borrow `x.0` as mutable, as `x` is not declared as mutable
344 --> $DIR/mutability-errors.rs:79:9
346 LL | fn imm_capture(x: (i32,)) {
347 | - help: consider changing this to be mutable: `mut x`
349 LL | &mut x.0; //~ ERROR
350 | ^^^^^^^^ cannot borrow as mutable
352 error[E0594]: cannot assign to immutable static item `X`
353 --> $DIR/mutability-errors.rs:86:5
355 LL | X = (1,); //~ ERROR
356 | ^^^^^^^^ cannot assign
358 error[E0594]: cannot assign to `X.0`, as `X` is an immutable static item
359 --> $DIR/mutability-errors.rs:87:5
361 LL | X.0 = 1; //~ ERROR
362 | ^^^^^^^ cannot assign
364 error[E0596]: cannot borrow immutable static item `X` as mutable
365 --> $DIR/mutability-errors.rs:88:5
367 LL | &mut X; //~ ERROR
368 | ^^^^^^ cannot borrow as mutable
370 error[E0596]: cannot borrow `X.0` as mutable, as `X` is an immutable static item
371 --> $DIR/mutability-errors.rs:89:5
373 LL | &mut X.0; //~ ERROR
374 | ^^^^^^^^ cannot borrow as mutable
376 error: aborting due to 38 previous errors
378 Some errors occurred: E0594, E0596.
379 For more information about an error, try `rustc --explain E0594`.