rust/tests/ui/moves/moved-value-on-as-ref-arg.stderr

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

80 lines
2.3 KiB
Plaintext
Raw Permalink Normal View History

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`.