summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/as-ref.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/suggestions/as-ref.stderr')
-rw-r--r--src/test/ui/suggestions/as-ref.stderr102
1 files changed, 102 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/as-ref.stderr b/src/test/ui/suggestions/as-ref.stderr
new file mode 100644
index 000000000..1efd1b317
--- /dev/null
+++ b/src/test/ui/suggestions/as-ref.stderr
@@ -0,0 +1,102 @@
+error[E0308]: mismatched types
+ --> $DIR/as-ref.rs:7:29
+ |
+LL | opt.map(|arg| takes_ref(arg));
+ | --- --------- ^^^ expected `&Foo`, found struct `Foo`
+ | | |
+ | | arguments to this function are incorrect
+ | help: consider using `as_ref` instead: `as_ref().map`
+ |
+note: function defined here
+ --> $DIR/as-ref.rs:3:4
+ |
+LL | fn takes_ref(_: &Foo) {}
+ | ^^^^^^^^^ -------
+
+error[E0308]: mismatched types
+ --> $DIR/as-ref.rs:8:39
+ |
+LL | opt.and_then(|arg| Some(takes_ref(arg)));
+ | -------- --------- ^^^ expected `&Foo`, found struct `Foo`
+ | | |
+ | | arguments to this function are incorrect
+ | help: consider using `as_ref` instead: `as_ref().and_then`
+ |
+note: function defined here
+ --> $DIR/as-ref.rs:3:4
+ |
+LL | fn takes_ref(_: &Foo) {}
+ | ^^^^^^^^^ -------
+
+error[E0308]: mismatched types
+ --> $DIR/as-ref.rs:10:29
+ |
+LL | opt.map(|arg| takes_ref(arg));
+ | --- --------- ^^^ expected `&Foo`, found struct `Foo`
+ | | |
+ | | arguments to this function are incorrect
+ | help: consider using `as_ref` instead: `as_ref().map`
+ |
+note: function defined here
+ --> $DIR/as-ref.rs:3:4
+ |
+LL | fn takes_ref(_: &Foo) {}
+ | ^^^^^^^^^ -------
+
+error[E0308]: mismatched types
+ --> $DIR/as-ref.rs:11:37
+ |
+LL | opt.and_then(|arg| Ok(takes_ref(arg)));
+ | -------- --------- ^^^ expected `&Foo`, found struct `Foo`
+ | | |
+ | | arguments to this function are incorrect
+ | help: consider using `as_ref` instead: `as_ref().and_then`
+ |
+note: function defined here
+ --> $DIR/as-ref.rs:3:4
+ |
+LL | fn takes_ref(_: &Foo) {}
+ | ^^^^^^^^^ -------
+
+error[E0308]: mismatched types
+ --> $DIR/as-ref.rs:13:29
+ |
+LL | let y: Option<&usize> = x;
+ | -------------- ^
+ | | |
+ | | expected enum `Option`, found `&Option<usize>`
+ | | help: you can convert from `&Option<T>` to `Option<&T>` using `.as_ref()`: `x.as_ref()`
+ | expected due to this
+ |
+ = note: expected enum `Option<&usize>`
+ found reference `&Option<usize>`
+
+error[E0308]: mismatched types
+ --> $DIR/as-ref.rs:15:37
+ |
+LL | let y: Result<&usize, &usize> = x;
+ | ---------------------- ^ expected enum `Result`, found reference
+ | |
+ | expected due to this
+ |
+ = note: expected enum `Result<&usize, &usize>`
+ found reference `&Result<usize, usize>`
+help: you can convert from `&Result<T, E>` to `Result<&T, &E>` using `.as_ref()`
+ |
+LL | let y: Result<&usize, &usize> = x.as_ref();
+ | ~~~~~~~~~~
+
+error[E0308]: mismatched types
+ --> $DIR/as-ref.rs:19:36
+ |
+LL | let y: Result<&usize, usize> = x;
+ | --------------------- ^ expected enum `Result`, found reference
+ | |
+ | expected due to this
+ |
+ = note: expected enum `Result<&usize, usize>`
+ found reference `&Result<usize, usize>`
+
+error: aborting due to 7 previous errors
+
+For more information about this error, try `rustc --explain E0308`.