diff options
Diffstat (limited to 'tests/ui/borrowck/move-in-pattern.stderr')
-rw-r--r-- | tests/ui/borrowck/move-in-pattern.stderr | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/ui/borrowck/move-in-pattern.stderr b/tests/ui/borrowck/move-in-pattern.stderr new file mode 100644 index 000000000..250acbe59 --- /dev/null +++ b/tests/ui/borrowck/move-in-pattern.stderr @@ -0,0 +1,33 @@ +error[E0382]: use of partially moved value: `s` + --> $DIR/move-in-pattern.rs:19:9 + | +LL | if let Some(x) = s { + | - value partially moved here +... +LL | foo(s); + | ^ value used here after partial move + | + = note: partial move occurs because value has type `S`, which does not implement the `Copy` trait +help: borrow this binding in the pattern to avoid moving the value + | +LL | if let Some(ref x) = s { + | +++ + +error[E0382]: use of partially moved value: `e` + --> $DIR/move-in-pattern.rs:23:9 + | +LL | let E::V { s: x } = e; + | - value partially moved here +LL | let _ = x; +LL | bar(e); + | ^ value used here after partial move + | + = note: partial move occurs because value has type `S`, which does not implement the `Copy` trait +help: borrow this binding in the pattern to avoid moving the value + | +LL | let E::V { s: ref x } = e; + | +++ + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0382`. |