80 lines
2.3 KiB
Plaintext
80 lines
2.3 KiB
Plaintext
|
error[E0382]: use of moved value: `bar`
|
||
|
--> $DIR/moved-value-on-as-ref-arg.rs:27:16
|
||
|
|
|
||
|
LL | let bar = Bar;
|
||
|
| --- move occurs because `bar` has type `Bar`, which does not implement the `Copy` trait
|
||
|
LL | foo(bar);
|
||
|
| --- value moved here
|
||
|
LL | let _baa = bar;
|
||
|
| ^^^ value used here after move
|
||
|
|
|
||
|
help: borrow the value to avoid moving it
|
||
|
|
|
||
|
LL | foo(&bar);
|
||
|
| +
|
||
|
|
||
|
error[E0382]: use of moved value: `bar`
|
||
|
--> $DIR/moved-value-on-as-ref-arg.rs:30:16
|
||
|
|
|
||
|
LL | let mut bar = Bar;
|
||
|
| ------- move occurs because `bar` has type `Bar`, which does not implement the `Copy` trait
|
||
|
LL | qux(bar);
|
||
|
| --- value moved here
|
||
|
LL | let _baa = bar;
|
||
|
| ^^^ value used here after move
|
||
|
|
|
||
|
note: if `Bar` implemented `Clone`, you could clone the value
|
||
|
--> $DIR/moved-value-on-as-ref-arg.rs:5:1
|
||
|
|
|
||
|
LL | struct Bar;
|
||
|
| ^^^^^^^^^^ consider implementing `Clone` for this type
|
||
|
...
|
||
|
LL | qux(bar);
|
||
|
| --- you could clone this value
|
||
|
help: borrow the value to avoid moving it
|
||
|
|
|
||
|
LL | qux(&mut bar);
|
||
|
| ++++
|
||
|
|
||
|
error[E0382]: use of moved value: `bar`
|
||
|
--> $DIR/moved-value-on-as-ref-arg.rs:33:16
|
||
|
|
|
||
|
LL | let bar = Bar;
|
||
|
| --- move occurs because `bar` has type `Bar`, which does not implement the `Copy` trait
|
||
|
LL | bat(bar);
|
||
|
| --- value moved here
|
||
|
LL | let _baa = bar;
|
||
|
| ^^^ value used here after move
|
||
|
|
|
||
|
help: borrow the value to avoid moving it
|
||
|
|
|
||
|
LL | bat(&bar);
|
||
|
| +
|
||
|
|
||
|
error[E0382]: use of moved value: `bar`
|
||
|
--> $DIR/moved-value-on-as-ref-arg.rs:36:16
|
||
|
|
|
||
|
LL | let mut bar = Bar;
|
||
|
| ------- move occurs because `bar` has type `Bar`, which does not implement the `Copy` trait
|
||
|
LL | baz(bar);
|
||
|
| --- value moved here
|
||
|
LL | let _baa = bar;
|
||
|
| ^^^ value used here after move
|
||
|
|
|
||
|
note: if `Bar` implemented `Clone`, you could clone the value
|
||
|
--> $DIR/moved-value-on-as-ref-arg.rs:5:1
|
||
|
|
|
||
|
LL | struct Bar;
|
||
|
| ^^^^^^^^^^ consider implementing `Clone` for this type
|
||
|
...
|
||
|
LL | baz(bar);
|
||
|
| --- you could clone this value
|
||
|
help: borrow the value to avoid moving it
|
||
|
|
|
||
|
LL | baz(&mut bar);
|
||
|
| ++++
|
||
|
|
||
|
error: aborting due to 4 previous errors
|
||
|
|
||
|
For more information about this error, try `rustc --explain E0382`.
|