error[E0594]: cannot assign to `x`, as it is not declared as mutable --> $DIR/closure-captures.rs:10:5 | LL | fn one_closure(x: i32) { | - help: consider changing this to be mutable: `mut x` LL | || LL | x = 1; //~ ERROR | ^^^^^ cannot assign error[E0594]: cannot assign to `x`, as it is not declared as mutable --> $DIR/closure-captures.rs:12:5 | LL | fn one_closure(x: i32) { | - help: consider changing this to be mutable: `mut x` ... LL | x = 1; //~ ERROR | ^^^^^ cannot assign error[E0594]: cannot assign to `x`, as it is not declared as mutable --> $DIR/closure-captures.rs:18:9 | LL | fn two_closures(x: i32) { | - help: consider changing this to be mutable: `mut x` ... LL | x = 1; //~ ERROR | ^^^^^ cannot assign error[E0594]: cannot assign to `x`, as it is not declared as mutable --> $DIR/closure-captures.rs:22:9 | LL | fn two_closures(x: i32) { | - help: consider changing this to be mutable: `mut x` ... LL | x = 1; //~ ERROR | ^^^^^ cannot assign error[E0596]: cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure --> $DIR/closure-captures.rs:30:9 | LL | || //~ ERROR | ^^ cannot borrow as mutable LL | x = 1;} | - mutable borrow occurs due to use of `x` in closure | help: consider changing this to accept closures that implement `FnMut` --> $DIR/closure-captures.rs:29:12 | LL | fn_ref(|| { | ____________^ LL | | || //~ ERROR LL | | x = 1;} | |________________^ error[E0596]: cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure --> $DIR/closure-captures.rs:34:9 | LL | || //~ ERROR | ^^ cannot borrow as mutable LL | x = 1;}); | - mutable borrow occurs due to use of `x` in closure | help: consider changing this to accept closures that implement `FnMut` --> $DIR/closure-captures.rs:33:12 | LL | fn_ref(move || { | ____________^ LL | | || //~ ERROR LL | | x = 1;}); | |___________^ error[E0594]: cannot assign to `x`, as it is not declared as mutable --> $DIR/closure-captures.rs:42:10 | LL | fn two_closures_ref(x: i32) { | - help: consider changing this to be mutable: `mut x` ... LL | x = 1;} //~ ERROR | ^^^^^ cannot assign error[E0596]: cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure --> $DIR/closure-captures.rs:41:9 | LL | || //~ ERROR | ^^ cannot borrow as mutable LL | x = 1;} //~ ERROR | - mutable borrow occurs due to use of `x` in closure | help: consider changing this to accept closures that implement `FnMut` --> $DIR/closure-captures.rs:40:12 | LL | fn_ref(|| { | ____________^ LL | | || //~ ERROR LL | | x = 1;} //~ ERROR | |________________^ error[E0594]: cannot assign to `x`, as it is not declared as mutable --> $DIR/closure-captures.rs:46:5 | LL | fn two_closures_ref(x: i32) { | - help: consider changing this to be mutable: `mut x` ... LL | x = 1;}); //~ ERROR | ^^^^^ cannot assign error[E0596]: cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure --> $DIR/closure-captures.rs:45:9 | LL | || //~ ERROR | ^^ cannot borrow as mutable LL | x = 1;}); //~ ERROR | - mutable borrow occurs due to use of `x` in closure | help: consider changing this to accept closures that implement `FnMut` --> $DIR/closure-captures.rs:44:12 | LL | fn_ref(move || { | ____________^ LL | | || //~ ERROR LL | | x = 1;}); //~ ERROR | |___________^ error[E0596]: cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure --> $DIR/closure-captures.rs:51:9 | LL | || //~ ERROR | ^^ cannot borrow as mutable LL | *x = 1;}); | - mutable borrow occurs due to use of `x` in closure | help: consider changing this to accept closures that implement `FnMut` --> $DIR/closure-captures.rs:50:12 | LL | fn_ref(|| { | ____________^ LL | | || //~ ERROR LL | | *x = 1;}); | |________________^ error[E0596]: cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure --> $DIR/closure-captures.rs:54:9 | LL | || //~ ERROR | ^^ cannot borrow as mutable LL | *x = 1;}); | - mutable borrow occurs due to use of `x` in closure | help: consider changing this to accept closures that implement `FnMut` --> $DIR/closure-captures.rs:53:12 | LL | fn_ref(move || { | ____________^ LL | | || //~ ERROR LL | | *x = 1;}); | |________________^ error: aborting due to 12 previous errors Some errors occurred: E0594, E0596. For more information about an error, try `rustc --explain E0594`.