2019-04-22 07:40:08 +00:00
error[E0382]: borrow of moved value: `message`
2018-12-25 15:56:47 +00:00
--> $DIR/liveness-use-after-send.rs:16:20
2018-08-08 12:28:26 +00:00
|
2019-04-22 07:40:08 +00:00
LL | fn test00_start(ch: Chan<Box<isize>>, message: Box<isize>, _count: Box<isize>) {
2020-09-02 07:40:56 +00:00
| ------- move occurs because `message` has type `Box<isize>`, which does not implement the `Copy` trait
2018-08-08 12:28:26 +00:00
LL | send(ch, message);
| ------- value moved here
2019-03-09 12:03:44 +00:00
LL | println!("{}", message);
2019-04-22 07:40:08 +00:00
| ^^^^^^^ value borrowed here after move
2021-10-21 14:01:16 +00:00
|
2022-11-12 00:57:01 +00:00
note: consider changing this parameter type in function `send` to borrow instead if owning the value isn't necessary
2022-11-03 04:22:24 +00:00
--> $DIR/liveness-use-after-send.rs:3:54
|
LL | fn send<T:Send + std::fmt::Debug>(ch: Chan<T>, data: T) {
2022-11-03 21:10:08 +00:00
| ---- in this function ^ this parameter takes ownership of the value
2022-06-21 02:25:52 +00:00
= 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)
2022-11-03 04:22:24 +00:00
help: consider cloning the value if the performance cost is acceptable
|
LL | send(ch, message.clone());
| ++++++++
2018-08-08 12:28:26 +00:00
error: aborting due to previous error
For more information about this error, try `rustc --explain E0382`.