mirror of
https://github.com/rust-lang/rust
synced 2024-09-06 01:11:17 +00:00
![Esteban Küber](/assets/img/avatar_default.png)
``` 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(); | ++++++++ ```
13 lines
198 B
Rust
13 lines
198 B
Rust
//@ run-rustfix
|
|
fn main() {
|
|
|
|
let x: Option<Box<_>> = Some(Box::new(1));
|
|
|
|
match x {
|
|
Some(ref y) => {
|
|
let _b = y.clone(); //~ ERROR cannot move out
|
|
}
|
|
_ => {}
|
|
}
|
|
}
|