| error[E0594]: cannot assign to `*x`, which is behind a `&` reference | |
| --> $DIR/mutability-errors.rs:9:5 | |
| | | |
| LL | *x = (1,); | |
| | ^^^^^^^^^ `x` is a `&` reference, so it cannot be written to | |
| | | |
| help: consider changing this to be a mutable reference | |
| | | |
| LL | fn named_ref(x: &mut (i32,)) { | |
| | +++ | |
| error[E0594]: cannot assign to `x.0`, which is behind a `&` reference | |
| --> $DIR/mutability-errors.rs:10:5 | |
| | | |
| LL | x.0 = 1; | |
| | ^^^^^^^ `x` is a `&` reference, so it cannot be written to | |
| | | |
| help: consider changing this to be a mutable reference | |
| | | |
| LL | fn named_ref(x: &mut (i32,)) { | |
| | +++ | |
| error[E0596]: cannot borrow `*x` as mutable, as it is behind a `&` reference | |
| --> $DIR/mutability-errors.rs:11:5 | |
| | | |
| LL | &mut *x; | |
| | ^^^^^^^ `x` is a `&` reference, so it cannot be borrowed as mutable | |
| | | |
| help: consider changing this to be a mutable reference | |
| | | |
| LL | fn named_ref(x: &mut (i32,)) { | |
| | +++ | |
| error[E0596]: cannot borrow `x.0` as mutable, as it is behind a `&` reference | |
| --> $DIR/mutability-errors.rs:12:5 | |
| | | |
| LL | &mut x.0; | |
| | ^^^^^^^^ `x` is a `&` reference, so it cannot be borrowed as mutable | |
| | | |
| help: consider changing this to be a mutable reference | |
| | | |
| LL | fn named_ref(x: &mut (i32,)) { | |
| | +++ | |
| error[E0594]: cannot assign to data in a `&` reference | |
| --> $DIR/mutability-errors.rs:16:5 | |
| | | |
| LL | *f() = (1,); | |
| | ^^^^^^^^^^^ cannot assign | |
| error[E0594]: cannot assign to data in a `&` reference | |
| --> $DIR/mutability-errors.rs:17:5 | |
| | | |
| LL | f().0 = 1; | |
| | ^^^^^^^^^ cannot assign | |
| error[E0596]: cannot borrow data in a `&` reference as mutable | |
| --> $DIR/mutability-errors.rs:18:5 | |
| | | |
| LL | &mut *f(); | |
| | ^^^^^^^^^ cannot borrow as mutable | |
| error[E0596]: cannot borrow data in a `&` reference as mutable | |
| --> $DIR/mutability-errors.rs:19:5 | |
| | | |
| LL | &mut f().0; | |
| | ^^^^^^^^^^ cannot borrow as mutable | |
| error[E0594]: cannot assign to `*x`, which is behind a `*const` pointer | |
| --> $DIR/mutability-errors.rs:23:5 | |
| | | |
| LL | *x = (1,); | |
| | ^^^^^^^^^ `x` is a `*const` pointer, so it cannot be written to | |
| | | |
| help: consider changing this to be a mutable pointer | |
| | | |
| LL | unsafe fn named_ptr(x: *mut const (i32,)) { | |
| | +++ | |
| error[E0594]: cannot assign to `x.0`, which is behind a `*const` pointer | |
| --> $DIR/mutability-errors.rs:24:5 | |
| | | |
| LL | (*x).0 = 1; | |
| | ^^^^^^^^^^ `x` is a `*const` pointer, so it cannot be written to | |
| | | |
| help: consider changing this to be a mutable pointer | |
| | | |
| LL | unsafe fn named_ptr(x: *mut const (i32,)) { | |
| | +++ | |
| error[E0596]: cannot borrow `*x` as mutable, as it is behind a `*const` pointer | |
| --> $DIR/mutability-errors.rs:25:5 | |
| | | |
| LL | &mut *x; | |
| | ^^^^^^^ `x` is a `*const` pointer, so it cannot be borrowed as mutable | |
| | | |
| help: consider changing this to be a mutable pointer | |
| | | |
| LL | unsafe fn named_ptr(x: *mut const (i32,)) { | |
| | +++ | |
| error[E0596]: cannot borrow `x.0` as mutable, as it is behind a `*const` pointer | |
| --> $DIR/mutability-errors.rs:26:5 | |
| | | |
| LL | &mut (*x).0; | |
| | ^^^^^^^^^^^ `x` is a `*const` pointer, so it cannot be borrowed as mutable | |
| | | |
| help: consider changing this to be a mutable pointer | |
| | | |
| LL | unsafe fn named_ptr(x: *mut const (i32,)) { | |
| | +++ | |
| error[E0594]: cannot assign to data in a `*const` pointer | |
| --> $DIR/mutability-errors.rs:30:5 | |
| | | |
| LL | *f() = (1,); | |
| | ^^^^^^^^^^^ cannot assign | |
| error[E0594]: cannot assign to data in a `*const` pointer | |
| --> $DIR/mutability-errors.rs:31:5 | |
| | | |
| LL | (*f()).0 = 1; | |
| | ^^^^^^^^^^^^ cannot assign | |
| error[E0596]: cannot borrow data in a `*const` pointer as mutable | |
| --> $DIR/mutability-errors.rs:32:5 | |
| | | |
| LL | &mut *f(); | |
| | ^^^^^^^^^ cannot borrow as mutable | |
| error[E0596]: cannot borrow data in a `*const` pointer as mutable | |
| --> $DIR/mutability-errors.rs:33:5 | |
| | | |
| LL | &mut (*f()).0; | |
| | ^^^^^^^^^^^^^ cannot borrow as mutable | |
| error[E0594]: cannot assign to `x`, as it is a captured variable in a `Fn` closure | |
| --> $DIR/mutability-errors.rs:40:9 | |
| | | |
| LL | fn fn_ref<F: Fn()>(f: F) -> F { f } | |
| | - change this to accept `FnMut` instead of `Fn` | |
| LL | | |
| LL | fn ref_closure(mut x: (i32,)) { | |
| | ----- `x` declared here, outside the closure | |
| LL | fn_ref(|| { | |
| | ------ -- in this closure | |
| | | | |
| | expects `Fn` instead of `FnMut` | |
| LL | x = (1,); | |
| | ^^^^^^^^ cannot assign | |
| error[E0594]: cannot assign to `x.0`, as `Fn` closures cannot mutate their captured variables | |
| --> $DIR/mutability-errors.rs:41:9 | |
| | | |
| LL | fn fn_ref<F: Fn()>(f: F) -> F { f } | |
| | - change this to accept `FnMut` instead of `Fn` | |
| LL | | |
| LL | fn ref_closure(mut x: (i32,)) { | |
| | ----- `x` declared here, outside the closure | |
| LL | fn_ref(|| { | |
| | ------ -- in this closure | |
| | | | |
| | expects `Fn` instead of `FnMut` | |
| LL | x = (1,); | |
| LL | x.0 = 1; | |
| | ^^^^^^^ cannot assign | |
| error[E0596]: cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure | |
| --> $DIR/mutability-errors.rs:42:9 | |
| | | |
| LL | fn fn_ref<F: Fn()>(f: F) -> F { f } | |
| | - change this to accept `FnMut` instead of `Fn` | |
| LL | | |
| LL | fn ref_closure(mut x: (i32,)) { | |
| | ----- `x` declared here, outside the closure | |
| LL | fn_ref(|| { | |
| | ------ -- in this closure | |
| | | | |
| | expects `Fn` instead of `FnMut` | |
| ... | |
| LL | &mut x; | |
| | ^^^^^^ cannot borrow as mutable | |
| error[E0596]: cannot borrow `x.0` as mutable, as `Fn` closures cannot mutate their captured variables | |
| --> $DIR/mutability-errors.rs:43:9 | |
| | | |
| LL | fn fn_ref<F: Fn()>(f: F) -> F { f } | |
| | - change this to accept `FnMut` instead of `Fn` | |
| LL | | |
| LL | fn ref_closure(mut x: (i32,)) { | |
| | ----- `x` declared here, outside the closure | |
| LL | fn_ref(|| { | |
| | ------ -- in this closure | |
| | | | |
| | expects `Fn` instead of `FnMut` | |
| ... | |
| LL | &mut x.0; | |
| | ^^^^^^^^ cannot borrow as mutable | |
| error[E0594]: cannot assign to `x`, as it is a captured variable in a `Fn` closure | |
| --> $DIR/mutability-errors.rs:46:9 | |
| | | |
| LL | fn fn_ref<F: Fn()>(f: F) -> F { f } | |
| | - change this to accept `FnMut` instead of `Fn` | |
| ... | |
| LL | fn_ref(move || { | |
| | ------ ------- in this closure | |
| | | | |
| | expects `Fn` instead of `FnMut` | |
| LL | x = (1,); | |
| | ^^^^^^^^ cannot assign | |
| error[E0594]: cannot assign to `x.0`, as `Fn` closures cannot mutate their captured variables | |
| --> $DIR/mutability-errors.rs:47:9 | |
| | | |
| LL | fn fn_ref<F: Fn()>(f: F) -> F { f } | |
| | - change this to accept `FnMut` instead of `Fn` | |
| ... | |
| LL | fn_ref(move || { | |
| | ------ ------- in this closure | |
| | | | |
| | expects `Fn` instead of `FnMut` | |
| LL | x = (1,); | |
| LL | x.0 = 1; | |
| | ^^^^^^^ cannot assign | |
| error[E0596]: cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure | |
| --> $DIR/mutability-errors.rs:48:9 | |
| | | |
| LL | fn fn_ref<F: Fn()>(f: F) -> F { f } | |
| | - change this to accept `FnMut` instead of `Fn` | |
| ... | |
| LL | fn_ref(move || { | |
| | ------ ------- in this closure | |
| | | | |
| | expects `Fn` instead of `FnMut` | |
| ... | |
| LL | &mut x; | |
| | ^^^^^^ cannot borrow as mutable | |
| error[E0596]: cannot borrow `x.0` as mutable, as `Fn` closures cannot mutate their captured variables | |
| --> $DIR/mutability-errors.rs:49:9 | |
| | | |
| LL | fn fn_ref<F: Fn()>(f: F) -> F { f } | |
| | - change this to accept `FnMut` instead of `Fn` | |
| ... | |
| LL | fn_ref(move || { | |
| | ------ ------- in this closure | |
| | | | |
| | expects `Fn` instead of `FnMut` | |
| ... | |
| LL | &mut x.0; | |
| | ^^^^^^^^ cannot borrow as mutable | |
| error[E0596]: cannot borrow `x` as mutable, as it is not declared as mutable | |
| --> $DIR/mutability-errors.rs:53:14 | |
| | | |
| LL | fn imm_local(x: (i32,)) { | |
| | ^ not mutable | |
| LL | &mut x; | |
| | ------ cannot borrow as mutable | |
| LL | &mut x.0; | |
| | -------- cannot borrow as mutable | |
| | | |
| help: consider changing this to be mutable | |
| | | |
| LL | fn imm_local(mut x: (i32,)) { | |
| | +++ | |
| error[E0594]: cannot assign to `x`, as it is not declared as mutable | |
| --> $DIR/mutability-errors.rs:60:9 | |
| | | |
| LL | x = (1,); | |
| | ^^^^^^^^ cannot assign | |
| | | |
| help: consider changing this to be mutable | |
| | | |
| LL | fn imm_capture(mut x: (i32,)) { | |
| | +++ | |
| error[E0594]: cannot assign to `x.0`, as `x` is not declared as mutable | |
| --> $DIR/mutability-errors.rs:61:9 | |
| | | |
| LL | x.0 = 1; | |
| | ^^^^^^^ cannot assign | |
| | | |
| help: consider changing this to be mutable | |
| | | |
| LL | fn imm_capture(mut x: (i32,)) { | |
| | +++ | |
| error[E0596]: cannot borrow `x` as mutable, as it is not declared as mutable | |
| --> $DIR/mutability-errors.rs:62:9 | |
| | | |
| LL | &mut x; | |
| | ^^^^^^ cannot borrow as mutable | |
| | | |
| help: consider changing this to be mutable | |
| | | |
| LL | fn imm_capture(mut x: (i32,)) { | |
| | +++ | |
| error[E0596]: cannot borrow `x.0` as mutable, as `x` is not declared as mutable | |
| --> $DIR/mutability-errors.rs:63:9 | |
| | | |
| LL | &mut x.0; | |
| | ^^^^^^^^ cannot borrow as mutable | |
| | | |
| help: consider changing this to be mutable | |
| | | |
| LL | fn imm_capture(mut x: (i32,)) { | |
| | +++ | |
| error[E0594]: cannot assign to `x`, as it is not declared as mutable | |
| --> $DIR/mutability-errors.rs:66:9 | |
| | | |
| LL | x = (1,); | |
| | ^^^^^^^^ cannot assign | |
| | | |
| help: consider changing this to be mutable | |
| | | |
| LL | fn imm_capture(mut x: (i32,)) { | |
| | +++ | |
| error[E0594]: cannot assign to `x.0`, as `x` is not declared as mutable | |
| --> $DIR/mutability-errors.rs:67:9 | |
| | | |
| LL | x.0 = 1; | |
| | ^^^^^^^ cannot assign | |
| | | |
| help: consider changing this to be mutable | |
| | | |
| LL | fn imm_capture(mut x: (i32,)) { | |
| | +++ | |
| error[E0596]: cannot borrow `x` as mutable, as it is not declared as mutable | |
| --> $DIR/mutability-errors.rs:68:9 | |
| | | |
| LL | &mut x; | |
| | ^^^^^^ cannot borrow as mutable | |
| | | |
| help: consider changing this to be mutable | |
| | | |
| LL | fn imm_capture(mut x: (i32,)) { | |
| | +++ | |
| error[E0596]: cannot borrow `x.0` as mutable, as `x` is not declared as mutable | |
| --> $DIR/mutability-errors.rs:69:9 | |
| | | |
| LL | &mut x.0; | |
| | ^^^^^^^^ cannot borrow as mutable | |
| | | |
| help: consider changing this to be mutable | |
| | | |
| LL | fn imm_capture(mut x: (i32,)) { | |
| | +++ | |
| error[E0594]: cannot assign to immutable static item `X` | |
| --> $DIR/mutability-errors.rs:76:5 | |
| | | |
| LL | static X: (i32,) = (0,); | |
| | ---------------- this `static` cannot be written to | |
| ... | |
| LL | X = (1,); | |
| | ^^^^^^^^ cannot assign | |
| error[E0594]: cannot assign to `X.0`, as `X` is an immutable static item | |
| --> $DIR/mutability-errors.rs:77:5 | |
| | | |
| LL | static X: (i32,) = (0,); | |
| | ---------------- this `static` cannot be written to | |
| ... | |
| LL | X.0 = 1; | |
| | ^^^^^^^ cannot assign | |
| error[E0596]: cannot borrow immutable static item `X` as mutable | |
| --> $DIR/mutability-errors.rs:78:5 | |
| | | |
| LL | static X: (i32,) = (0,); | |
| | ---------------- this `static` cannot be borrowed as mutable | |
| ... | |
| LL | &mut X; | |
| | ^^^^^^ cannot borrow as mutable | |
| error[E0596]: cannot borrow `X.0` as mutable, as `X` is an immutable static item | |
| --> $DIR/mutability-errors.rs:79:5 | |
| | | |
| LL | static X: (i32,) = (0,); | |
| | ---------------- this `static` cannot be borrowed as mutable | |
| ... | |
| LL | &mut X.0; | |
| | ^^^^^^^^ cannot borrow as mutable | |
| error: aborting due to 37 previous errors | |
| Some errors have detailed explanations: E0594, E0596. | |
| For more information about an error, try `rustc --explain E0594`. |