| error[E0382]: borrow of moved value: `n` |
| --> $DIR/use-after-move-implicity-coerced-object.rs:28:13 |
| | |
| LL | let n: Box<_> = Number { n: 42 }.into(); |
| | - move occurs because `n` has type `Box<Number>`, which does not implement the `Copy` trait |
| LL | let mut l: Box<_> = List { list: Vec::new() }.into(); |
| LL | l.push(n); |
| | - value moved here |
| LL | |
| LL | let x = n.to_string(); |
| | ^ value borrowed here after move |
| | |
| note: consider changing this parameter type in method `push` to borrow instead if owning the value isn't necessary |
| --> $DIR/use-after-move-implicity-coerced-object.rs:17:27 |
| | |
| LL | fn push(&mut self, n: Box<dyn ToString + 'static>) { |
| | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this parameter takes ownership of the value |
| | | |
| | in this method |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0382`. |