summaryrefslogtreecommitdiffstats
path: root/src/test/ui/return
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:18:25 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:18:25 +0000
commit5363f350887b1e5b5dd21a86f88c8af9d7fea6da (patch)
tree35ca005eb6e0e9a1ba3bb5dbc033209ad445dc17 /src/test/ui/return
parentAdding debian version 1.66.0+dfsg1-1. (diff)
downloadrustc-5363f350887b1e5b5dd21a86f88c8af9d7fea6da.tar.xz
rustc-5363f350887b1e5b5dd21a86f88c8af9d7fea6da.zip
Merging upstream version 1.67.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/return')
-rw-r--r--src/test/ui/return/issue-86188-return-not-in-fn-body.stderr12
-rw-r--r--src/test/ui/return/tail-expr-as-potential-return.rs17
-rw-r--r--src/test/ui/return/tail-expr-as-potential-return.stderr21
3 files changed, 40 insertions, 10 deletions
diff --git a/src/test/ui/return/issue-86188-return-not-in-fn-body.stderr b/src/test/ui/return/issue-86188-return-not-in-fn-body.stderr
index d7eeb3a72..4f938670e 100644
--- a/src/test/ui/return/issue-86188-return-not-in-fn-body.stderr
+++ b/src/test/ui/return/issue-86188-return-not-in-fn-body.stderr
@@ -35,17 +35,17 @@ LL | | }
error[E0572]: return statement outside of function body
--> $DIR/issue-86188-return-not-in-fn-body.rs:36:10
|
-LL | / fn main() {
-LL | |
-LL | | [(); return || {
- | |__________^
+LL | / fn main() {
+LL | |
+LL | | [(); return || {
+ | | __________^
LL | ||
LL | ||
LL | || let tx;
LL | || }];
| ||_____^ the return is part of this body...
-LL | | }
- | |_- ...not the enclosing function body
+LL | | }
+ | |__- ...not the enclosing function body
error: aborting due to 4 previous errors
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
+}
diff --git a/src/test/ui/return/tail-expr-as-potential-return.stderr b/src/test/ui/return/tail-expr-as-potential-return.stderr
index dec1cbc46..9183b4599 100644
--- a/src/test/ui/return/tail-expr-as-potential-return.stderr
+++ b/src/test/ui/return/tail-expr-as-potential-return.stderr
@@ -1,5 +1,5 @@
error[E0308]: mismatched types
- --> $DIR/tail-expr-as-potential-return.rs:28:9
+ --> $DIR/tail-expr-as-potential-return.rs:27:9
|
LL | / if x {
LL | | Err(42)
@@ -16,7 +16,22 @@ LL | return Err(42);
| ++++++ +
error[E0308]: mismatched types
- --> $DIR/tail-expr-as-potential-return.rs:20:9
+ --> $DIR/tail-expr-as-potential-return.rs:43:9
+ |
+LL | / if true {
+LL | | 1i32
+ | | ^^^^ expected `()`, found `i32`
+LL | | //| HELP you might have meant to return this value
+LL | | }
+ | |_____- expected this to be `()`
+ |
+help: you might have meant to return this value
+ |
+LL | return 1i32;
+ | ++++++ +
+
+error[E0308]: mismatched types
+ --> $DIR/tail-expr-as-potential-return.rs:19:9
|
LL | / if x {
LL | | Err(42)
@@ -32,6 +47,6 @@ help: you might have meant to return this value
LL | return Err(42);
| ++++++ +
-error: aborting due to 2 previous errors
+error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0308`.