blob: 4004b7a43bc091efb445907f842c0d49c99fb3f0 [file] [log] [blame] [edit]
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`.