| error[E0382]: use of moved value: `x` |
| --> $DIR/liveness-move-call-arg-2.rs:9:18 |
| | |
| LL | let x: Box<isize> = Box::new(25); |
| | - move occurs because `x` has type `Box<isize>`, which does not implement the `Copy` trait |
| LL | |
| LL | loop { |
| | ---- inside of this loop |
| LL | take(x); |
| | ^ value moved here, in previous iteration of loop |
| | |
| note: consider changing this parameter type in function `take` to borrow instead if owning the value isn't necessary |
| --> $DIR/liveness-move-call-arg-2.rs:1:13 |
| | |
| LL | fn take(_x: Box<isize>) {} |
| | ---- ^^^^^^^^^^ this parameter takes ownership of the value |
| | | |
| | in this function |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | take(x.clone()); |
| | ++++++++ |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0382`. |