about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/test/ui/suggestions/return-closures.rs7
-rw-r--r--src/test/ui/suggestions/return-closures.stderr19
2 files changed, 23 insertions, 3 deletions
diff --git a/src/test/ui/suggestions/return-closures.rs b/src/test/ui/suggestions/return-closures.rs
index eb593a03965..86c7c153742 100644
--- a/src/test/ui/suggestions/return-closures.rs
+++ b/src/test/ui/suggestions/return-closures.rs
@@ -1,6 +1,13 @@
 fn foo() {
+    //~^ HELP try adding a return type
     |x: &i32| 1i32
     //~^ ERROR mismatched types
 }
 
+fn bar(i: impl Sized) {
+    //~^ HELP a return type might be missing here
+    || i
+    //~^ ERROR mismatched types
+}
+
 fn main() {}
diff --git a/src/test/ui/suggestions/return-closures.stderr b/src/test/ui/suggestions/return-closures.stderr
index 6689f697088..e273793ea2c 100644
--- a/src/test/ui/suggestions/return-closures.stderr
+++ b/src/test/ui/suggestions/return-closures.stderr
@@ -1,14 +1,27 @@
 error[E0308]: mismatched types
-  --> $DIR/return-closures.rs:2:5
+  --> $DIR/return-closures.rs:3:5
    |
 LL | fn foo() {
    |          - help: try adding a return type: `-> impl for<'r> Fn(&'r i32) -> i32`
+LL |
 LL |     |x: &i32| 1i32
    |     ^^^^^^^^^^^^^^ expected `()`, found closure
    |
    = note: expected unit type `()`
-                found closure `[closure@$DIR/return-closures.rs:2:5: 2:14]`
+                found closure `[closure@$DIR/return-closures.rs:3:5: 3:14]`
 
-error: aborting due to previous error
+error[E0308]: mismatched types
+  --> $DIR/return-closures.rs:9:5
+   |
+LL | fn bar(i: impl Sized) {
+   |                       - help: a return type might be missing here: `-> _`
+LL |
+LL |     || i
+   |     ^^^^ expected `()`, found closure
+   |
+   = note: expected unit type `()`
+                found closure `[closure@$DIR/return-closures.rs:9:5: 9:7]`
+
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0308`.