summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/as-ref-2.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/suggestions/as-ref-2.stderr')
-rw-r--r--src/test/ui/suggestions/as-ref-2.stderr23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/as-ref-2.stderr b/src/test/ui/suggestions/as-ref-2.stderr
new file mode 100644
index 000000000..3c9d0f72a
--- /dev/null
+++ b/src/test/ui/suggestions/as-ref-2.stderr
@@ -0,0 +1,23 @@
+error[E0382]: use of moved value: `foo`
+ --> $DIR/as-ref-2.rs:12: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
+LL | let _y = foo;
+ | ^^^ value used here after move
+ |
+note: this function takes ownership of the receiver `self`, which moves `foo`
+ --> $SRC_DIR/core/src/option.rs:LL:COL
+ |
+LL | pub const fn map<U, F>(self, f: F) -> Option<U>
+ | ^^^^
+help: consider calling `.as_ref()` to borrow the type's contents
+ |
+LL | let _x: Option<Struct> = foo.as_ref().map(|s| bar(&s));
+ | +++++++++
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0382`.