| error[E0502]: cannot borrow `v` as mutable because it is also borrowed as immutable |
| --> $DIR/issue-109271-pass-self-into-closure.rs:19:5 |
| | |
| LL | v.call(|(), this: &mut S| v.get()); |
| | ^^----^------------------^-^^^^^^^ |
| | | | | | |
| | | | | first borrow occurs due to use of `v` in closure |
| | | | | help: try using the closure argument: `this` |
| | | | immutable borrow occurs here |
| | | immutable borrow later used by call |
| | mutable borrow occurs here |
| |
| error[E0499]: cannot borrow `v` as mutable more than once at a time |
| --> $DIR/issue-109271-pass-self-into-closure.rs:21:5 |
| | |
| LL | v.call(|(), this: &mut S| v.set()); |
| | ^^----^------------------^-^^^^^^^ |
| | | | | | |
| | | | | first borrow occurs due to use of `v` in closure |
| | | | | help: try using the closure argument: `this` |
| | | | first mutable borrow occurs here |
| | | first borrow later used by call |
| | second mutable borrow occurs here |
| |
| error[E0499]: cannot borrow `v` as mutable more than once at a time |
| --> $DIR/issue-109271-pass-self-into-closure.rs:21:12 |
| | |
| LL | v.call(|(), this: &mut S| v.set()); |
| | - ---- ^^^^^^^^^^^^^^^^^^ - second borrow occurs due to use of `v` in closure |
| | | | | |
| | | | second mutable borrow occurs here |
| | | first borrow later used by call |
| | first mutable borrow occurs here |
| |
| error[E0499]: cannot borrow `v` as mutable more than once at a time |
| --> $DIR/issue-109271-pass-self-into-closure.rs:25:5 |
| | |
| LL | v.call(|(), this: &mut S| { |
| | ^ ---- ------------------ first mutable borrow occurs here |
| | | | |
| | _____| first borrow later used by call |
| | | |
| LL | | |
| LL | | |
| ... | |
| LL | | v.set(); |
| | | - first borrow occurs due to use of `v` in closure |
| ... | |
| LL | | _ = v.add(3); |
| LL | | }); |
| | |______^ second mutable borrow occurs here |
| | |
| help: try using the closure argument |
| | |
| LL ~ _ = this; |
| LL ~ this.set(); |
| LL ~ this.get(); |
| LL ~ S::get(&this); |
| | |
| |
| error[E0499]: cannot borrow `v` as mutable more than once at a time |
| --> $DIR/issue-109271-pass-self-into-closure.rs:25:12 |
| | |
| LL | v.call(|(), this: &mut S| { |
| | - ---- ^^^^^^^^^^^^^^^^^^ second mutable borrow occurs here |
| | | | |
| | | first borrow later used by call |
| | first mutable borrow occurs here |
| ... |
| LL | v.set(); |
| | - second borrow occurs due to use of `v` in closure |
| |
| error: aborting due to 5 previous errors |
| |
| Some errors have detailed explanations: E0499, E0502. |
| For more information about an error, try `rustc --explain E0499`. |