Fix implicit_return suggestion for async functions

This commit is contained in:
Jason Newcomb 2021-04-02 17:53:14 -04:00
parent 22f8c13cf5
commit 74cf5f2fc6
No known key found for this signature in database
GPG key ID: DA59E8643A37ED06
5 changed files with 81 additions and 20 deletions

View file

@ -1,3 +1,4 @@
// edition:2018
// run-rustfix
#![warn(clippy::implicit_return)]
@ -122,4 +123,9 @@ fn divergent_test() -> bool {
diverge()
}
// issue #6940
async fn foo() -> bool {
return true
}
fn main() {}

View file

@ -1,3 +1,4 @@
// edition:2018
// run-rustfix
#![warn(clippy::implicit_return)]
@ -122,4 +123,9 @@ fn divergent_test() -> bool {
diverge()
}
// issue #6940
async fn foo() -> bool {
true
}
fn main() {}

View file

@ -1,5 +1,5 @@
error: missing `return` statement
--> $DIR/implicit_return.rs:12:5
--> $DIR/implicit_return.rs:13:5
|
LL | true
| ^^^^ help: add `return` as shown: `return true`
@ -7,85 +7,85 @@ LL | true
= note: `-D clippy::implicit-return` implied by `-D warnings`
error: missing `return` statement
--> $DIR/implicit_return.rs:16:15
--> $DIR/implicit_return.rs:17:15
|
LL | if true { true } else { false }
| ^^^^ help: add `return` as shown: `return true`
error: missing `return` statement
--> $DIR/implicit_return.rs:16:29
--> $DIR/implicit_return.rs:17:29
|
LL | if true { true } else { false }
| ^^^^^ help: add `return` as shown: `return false`
error: missing `return` statement
--> $DIR/implicit_return.rs:22:17
--> $DIR/implicit_return.rs:23:17
|
LL | true => false,
| ^^^^^ help: add `return` as shown: `return false`
error: missing `return` statement
--> $DIR/implicit_return.rs:23:20
--> $DIR/implicit_return.rs:24:20
|
LL | false => { true },
| ^^^^ help: add `return` as shown: `return true`
error: missing `return` statement
--> $DIR/implicit_return.rs:36:9
--> $DIR/implicit_return.rs:37:9
|
LL | break true;
| ^^^^^^^^^^ help: change `break` to `return` as shown: `return true`
error: missing `return` statement
--> $DIR/implicit_return.rs:43:13
--> $DIR/implicit_return.rs:44:13
|
LL | break true;
| ^^^^^^^^^^ help: change `break` to `return` as shown: `return true`
error: missing `return` statement
--> $DIR/implicit_return.rs:51:13
--> $DIR/implicit_return.rs:52:13
|
LL | break true;
| ^^^^^^^^^^ help: change `break` to `return` as shown: `return true`
error: missing `return` statement
--> $DIR/implicit_return.rs:69:18
--> $DIR/implicit_return.rs:70:18
|
LL | let _ = || { true };
| ^^^^ help: add `return` as shown: `return true`
error: missing `return` statement
--> $DIR/implicit_return.rs:70:16
--> $DIR/implicit_return.rs:71:16
|
LL | let _ = || true;
| ^^^^ help: add `return` as shown: `return true`
error: missing `return` statement
--> $DIR/implicit_return.rs:78:5
--> $DIR/implicit_return.rs:79:5
|
LL | format!("test {}", "test")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add `return` as shown: `return format!("test {}", "test")`
error: missing `return` statement
--> $DIR/implicit_return.rs:87:5
--> $DIR/implicit_return.rs:88:5
|
LL | m!(true, false)
| ^^^^^^^^^^^^^^^ help: add `return` as shown: `return m!(true, false)`
error: missing `return` statement
--> $DIR/implicit_return.rs:93:13
--> $DIR/implicit_return.rs:94:13
|
LL | break true;
| ^^^^^^^^^^ help: change `break` to `return` as shown: `return true`
error: missing `return` statement
--> $DIR/implicit_return.rs:98:17
--> $DIR/implicit_return.rs:99:17
|
LL | break 'outer false;
| ^^^^^^^^^^^^^^^^^^ help: change `break` to `return` as shown: `return false`
error: missing `return` statement
--> $DIR/implicit_return.rs:113:5
--> $DIR/implicit_return.rs:114:5
|
LL | / loop {
LL | | m!(true);
@ -99,5 +99,11 @@ LL | m!(true);
LL | }
|
error: aborting due to 15 previous errors
error: missing `return` statement
--> $DIR/implicit_return.rs:128:5
|
LL | true
| ^^^^ help: add `return` as shown: `return true`
error: aborting due to 16 previous errors