| error[E0502]: cannot borrow `s` as immutable because it is also borrowed as mutable |
| --> $DIR/borrowck-overloaded-call.rs:69:5 |
| | |
| LL | let sp = &mut s; |
| | - mutable borrow occurs here |
| LL | s(3); //~ ERROR cannot borrow `s` as immutable because it is also borrowed as mutable |
| | ^ immutable borrow occurs here |
| LL | } |
| | - mutable borrow ends here |
| |
| error[E0596]: cannot borrow immutable local variable `s` as mutable |
| --> $DIR/borrowck-overloaded-call.rs:77:5 |
| | |
| LL | let s = SFnMut { |
| | - help: make this binding mutable: `mut s` |
| ... |
| LL | s(3); //~ ERROR cannot borrow immutable local variable `s` as mutable |
| | ^ cannot borrow mutably |
| |
| error[E0382]: use of moved value: `s` |
| --> $DIR/borrowck-overloaded-call.rs:85:5 |
| | |
| LL | s(" world".to_string()); |
| | - value moved here |
| LL | s(" world".to_string()); //~ ERROR use of moved value: `s` |
| | ^ value used here after move |
| | |
| = note: move occurs because `s` has type `SFnOnce`, which does not implement the `Copy` trait |
| |
| error: aborting due to 3 previous errors |
| |
| Some errors occurred: E0382, E0502, E0596. |
| For more information about an error, try `rustc --explain E0382`. |