| error[E0382]: borrow of moved value: `x` |
| --> $DIR/borrowck-loan-in-overloaded-op.rs:21:20 |
| | |
| LL | let x = Foo(Box::new(3)); |
| | - move occurs because `x` has type `Foo`, which does not implement the `Copy` trait |
| LL | let _y = {x} + x.clone(); // the `{x}` forces a move to occur |
| | - ^ value borrowed here after move |
| | | |
| | value moved here |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | let _y = {x.clone()} + x.clone(); // the `{x}` forces a move to occur |
| | ++++++++ |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0382`. |