| error[E0382]: borrow of moved value: `message` |
| --> $DIR/liveness-use-after-send.rs:16:20 |
| | |
| LL | fn test00_start(ch: Chan<Box<isize>>, message: Box<isize>, _count: Box<isize>) { |
| | ------- move occurs because `message` has type `Box<isize>`, which does not implement the `Copy` trait |
| LL | send(ch, message); |
| | ------- value moved here |
| LL | println!("{}", message); |
| | ^^^^^^^ value borrowed here after move |
| | |
| note: consider changing this parameter type in function `send` to borrow instead if owning the value isn't necessary |
| --> $DIR/liveness-use-after-send.rs:3:54 |
| | |
| LL | fn send<T:Send + std::fmt::Debug>(ch: Chan<T>, data: T) { |
| | ---- in this function ^ this parameter takes ownership of the value |
| = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | send(ch, message.clone()); |
| | ++++++++ |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0382`. |