summaryrefslogtreecommitdiffstats
path: root/src/test/ui/return/tail-expr-as-potential-return.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/return/tail-expr-as-potential-return.rs')
-rw-r--r--src/test/ui/return/tail-expr-as-potential-return.rs17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/test/ui/return/tail-expr-as-potential-return.rs b/src/test/ui/return/tail-expr-as-potential-return.rs
index 2c3610fb2..f46e088b8 100644
--- a/src/test/ui/return/tail-expr-as-potential-return.rs
+++ b/src/test/ui/return/tail-expr-as-potential-return.rs
@@ -12,7 +12,6 @@
// edition:2018
fn main() {
- let _ = foo(true);
}
fn foo(x: bool) -> Result<f64, i32> {
@@ -30,3 +29,19 @@ async fn bar(x: bool) -> Result<f64, i32> {
}
Ok(42.0)
}
+
+trait Identity {
+ type Out;
+}
+
+impl<T> Identity for T {
+ type Out = T;
+}
+
+async fn foo2() -> i32 {
+ if true {
+ 1i32 //~ ERROR mismatched types
+ //| HELP you might have meant to return this value
+ }
+ 0
+}