summaryrefslogtreecommitdiffstats
path: root/tests/ui/suggestions/as-ref-2.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/suggestions/as-ref-2.stderr')
-rw-r--r--tests/ui/suggestions/as-ref-2.stderr18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/ui/suggestions/as-ref-2.stderr b/tests/ui/suggestions/as-ref-2.stderr
new file mode 100644
index 000000000..e2129b450
--- /dev/null
+++ b/tests/ui/suggestions/as-ref-2.stderr
@@ -0,0 +1,18 @@
+error[E0382]: use of moved value: `foo`
+ --> $DIR/as-ref-2.rs:10:14
+ |
+LL | let foo = Some(Struct);
+ | --- move occurs because `foo` has type `Option<Struct>`, which does not implement the `Copy` trait
+LL | let _x: Option<Struct> = foo.map(|s| bar(&s));
+ | --- ---------------- `foo` moved due to this method call
+ | |
+ | help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents
+LL | let _y = foo;
+ | ^^^ value used here after move
+ |
+note: `Option::<T>::map` takes ownership of the receiver `self`, which moves `foo`
+ --> $SRC_DIR/core/src/option.rs:LL:COL
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0382`.