```
error[E0507]: cannot move out of `val`, a captured variable in an `FnMut` closure
--> $DIR/issue-87456-point-to-closure.rs:10:28
|
LL | let val = String::new();
| --- captured outer variable
LL |
LL | take_mut(|| {
| -- captured by this `FnMut` closure
LL |
LL | let _foo: String = val;
| ^^^ move occurs because `val` has type `String`, which does not implement the `Copy` trait
|
help: consider borrowing here
|
LL | let _foo: String = &val;
| +
help: consider cloning the value if the performance cost is acceptable
|
LL | let _foo: String = val.clone();
| ++++++++
```
19 lines
601 B
Plaintext
19 lines
601 B
Plaintext
error[E0507]: cannot move out of index of `MyVec<Box<i32>>`
|
|
--> $DIR/borrowck-overloaded-index-move-from-vec.rs:20:15
|
|
|
|
|
LL | let bad = v[0];
|
|
| ^^^^ move occurs because value has type `Box<i32>`, which does not implement the `Copy` trait
|
|
|
|
|
help: consider borrowing here
|
|
|
|
|
LL | let bad = &v[0];
|
|
| +
|
|
help: consider cloning the value if the performance cost is acceptable
|
|
|
|
|
LL | let bad = v[0].clone();
|
|
| ++++++++
|
|
|
|
error: aborting due to 1 previous error
|
|
|
|
For more information about this error, try `rustc --explain E0507`.
|