summaryrefslogtreecommitdiffstats
path: root/tests/ui/nll/issue-27282-move-ref-mut-into-guard.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/nll/issue-27282-move-ref-mut-into-guard.stderr')
-rw-r--r--tests/ui/nll/issue-27282-move-ref-mut-into-guard.stderr23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/ui/nll/issue-27282-move-ref-mut-into-guard.stderr b/tests/ui/nll/issue-27282-move-ref-mut-into-guard.stderr
new file mode 100644
index 000000000..45119018d
--- /dev/null
+++ b/tests/ui/nll/issue-27282-move-ref-mut-into-guard.stderr
@@ -0,0 +1,23 @@
+error[E0507]: cannot move out of `foo` in pattern guard
+ --> $DIR/issue-27282-move-ref-mut-into-guard.rs:11:19
+ |
+LL | if { (|| { let bar = foo; bar.take() })(); false } => {},
+ | ^^ --- move occurs because `foo` has type `&mut Option<&i32>`, which does not implement the `Copy` trait
+ | |
+ | move out of `foo` occurs here
+ |
+ = note: variables bound in patterns cannot be moved from until after the end of the pattern guard
+
+error[E0507]: cannot move out of `foo` in pattern guard
+ --> $DIR/issue-27282-move-ref-mut-into-guard.rs:19:34
+ |
+LL | if let Some(()) = { (|| { let bar = foo; bar.take() })(); None } => {},
+ | ^^ --- move occurs because `foo` has type `&mut Option<&i32>`, which does not implement the `Copy` trait
+ | |
+ | move out of `foo` occurs here
+ |
+ = note: variables bound in patterns cannot be moved from until after the end of the pattern guard
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0507`.