rust/tests/ui/unboxed-closures/unboxed-closures-mutate-upv...

44 lines
1.5 KiB
Plaintext

error[E0594]: cannot assign to `n`, as it is not declared as mutable
--> $DIR/unboxed-closures-mutate-upvar.rs:15:9
|
LL | let n = 0;
| - help: consider changing this to be mutable: `mut n`
LL | let mut f = to_fn_mut(|| {
LL | n += 1;
| ^^^^^^ cannot assign
error[E0594]: cannot assign to `n`, as it is not declared as mutable
--> $DIR/unboxed-closures-mutate-upvar.rs:32:9
|
LL | let n = 0;
| - help: consider changing this to be mutable: `mut n`
...
LL | n += 1;
| ^^^^^^ cannot assign
error[E0594]: cannot assign to `n`, as it is not declared as mutable
--> $DIR/unboxed-closures-mutate-upvar.rs:46:9
|
LL | let n = 0;
| - help: consider changing this to be mutable: `mut n`
LL | let mut f = to_fn(move || {
LL | n += 1;
| ^^^^^^ cannot assign
error[E0594]: cannot assign to `n`, as it is a captured variable in a `Fn` closure
--> $DIR/unboxed-closures-mutate-upvar.rs:53:9
|
LL | fn to_fn<A:std::marker::Tuple,F:Fn<A>>(f: F) -> F { f }
| - change this to accept `FnMut` instead of `Fn`
...
LL | let mut f = to_fn(move || {
| ----- ------- in this closure
| |
| expects `Fn` instead of `FnMut`
LL | n += 1;
| ^^^^^^ cannot assign
error: aborting due to 4 previous errors
For more information about this error, try `rustc --explain E0594`.