mirror of
https://github.com/rust-lang/rust-clippy
synced 2025-02-25 20:07:21 +00:00
Auto merge of #10187 - dswij:issue-10182-semicolon, r=Jarcho
[needless_return]: Remove all semicolons on suggestion Closes #10182 Multiple semicolons currently breaks autofix for `needless_return` suggestions. Any semicolons left after removing return means that the return type will always be `()`, and thus fail to compile. This PR allows `needless_return` to remove multiple semicolons. The change won't cover the case where there is multiple line yet. i.e. ```rust fn needless_return() -> bool { return true; ;; } ``` --- changelog: Sugg: [`needless_return`]: Now removes all semicolons on the same line [#10187](https://github.com/rust-lang/rust-clippy/pull/10187) <!-- changelog_checked -->
This commit is contained in:
commit
07a7603994
5 changed files with 101 additions and 59 deletions
|
@ -1,7 +1,7 @@
|
||||||
use clippy_utils::diagnostics::{span_lint_and_then, span_lint_hir_and_then};
|
use clippy_utils::diagnostics::{span_lint_and_then, span_lint_hir_and_then};
|
||||||
use clippy_utils::source::{snippet_opt, snippet_with_context};
|
use clippy_utils::source::{snippet_opt, snippet_with_context};
|
||||||
use clippy_utils::visitors::{for_each_expr, Descend};
|
use clippy_utils::visitors::{for_each_expr, Descend};
|
||||||
use clippy_utils::{fn_def_id, path_to_local_id};
|
use clippy_utils::{fn_def_id, path_to_local_id, span_find_starting_semi};
|
||||||
use core::ops::ControlFlow;
|
use core::ops::ControlFlow;
|
||||||
use if_chain::if_chain;
|
use if_chain::if_chain;
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
|
@ -151,7 +151,7 @@ impl<'tcx> LateLintPass<'tcx> for Return {
|
||||||
kind: FnKind<'tcx>,
|
kind: FnKind<'tcx>,
|
||||||
_: &'tcx FnDecl<'tcx>,
|
_: &'tcx FnDecl<'tcx>,
|
||||||
body: &'tcx Body<'tcx>,
|
body: &'tcx Body<'tcx>,
|
||||||
_: Span,
|
sp: Span,
|
||||||
_: HirId,
|
_: HirId,
|
||||||
) {
|
) {
|
||||||
match kind {
|
match kind {
|
||||||
|
@ -166,14 +166,14 @@ impl<'tcx> LateLintPass<'tcx> for Return {
|
||||||
check_final_expr(cx, body.value, vec![], replacement);
|
check_final_expr(cx, body.value, vec![], replacement);
|
||||||
},
|
},
|
||||||
FnKind::ItemFn(..) | FnKind::Method(..) => {
|
FnKind::ItemFn(..) | FnKind::Method(..) => {
|
||||||
check_block_return(cx, &body.value.kind, vec![]);
|
check_block_return(cx, &body.value.kind, sp, vec![]);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if `expr` is a block, check if there are needless returns in it
|
// if `expr` is a block, check if there are needless returns in it
|
||||||
fn check_block_return<'tcx>(cx: &LateContext<'tcx>, expr_kind: &ExprKind<'tcx>, semi_spans: Vec<Span>) {
|
fn check_block_return<'tcx>(cx: &LateContext<'tcx>, expr_kind: &ExprKind<'tcx>, sp: Span, mut semi_spans: Vec<Span>) {
|
||||||
if let ExprKind::Block(block, _) = expr_kind {
|
if let ExprKind::Block(block, _) = expr_kind {
|
||||||
if let Some(block_expr) = block.expr {
|
if let Some(block_expr) = block.expr {
|
||||||
check_final_expr(cx, block_expr, semi_spans, RetReplacement::Empty);
|
check_final_expr(cx, block_expr, semi_spans, RetReplacement::Empty);
|
||||||
|
@ -183,12 +183,14 @@ fn check_block_return<'tcx>(cx: &LateContext<'tcx>, expr_kind: &ExprKind<'tcx>,
|
||||||
check_final_expr(cx, expr, semi_spans, RetReplacement::Empty);
|
check_final_expr(cx, expr, semi_spans, RetReplacement::Empty);
|
||||||
},
|
},
|
||||||
StmtKind::Semi(semi_expr) => {
|
StmtKind::Semi(semi_expr) => {
|
||||||
let mut semi_spans_and_this_one = semi_spans;
|
// Remove ending semicolons and any whitespace ' ' in between.
|
||||||
// we only want the span containing the semicolon so we can remove it later. From `entry.rs:382`
|
// Without `return`, the suggestion might not compile if the semicolon is retained
|
||||||
if let Some(semicolon_span) = stmt.span.trim_start(semi_expr.span) {
|
if let Some(semi_span) = stmt.span.trim_start(semi_expr.span) {
|
||||||
semi_spans_and_this_one.push(semicolon_span);
|
let semi_span_to_remove =
|
||||||
check_final_expr(cx, semi_expr, semi_spans_and_this_one, RetReplacement::Empty);
|
span_find_starting_semi(cx.sess().source_map(), semi_span.with_hi(sp.hi()));
|
||||||
|
semi_spans.push(semi_span_to_remove);
|
||||||
}
|
}
|
||||||
|
check_final_expr(cx, semi_expr, semi_spans, RetReplacement::Empty);
|
||||||
},
|
},
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
|
@ -231,9 +233,9 @@ fn check_final_expr<'tcx>(
|
||||||
emit_return_lint(cx, ret_span, semi_spans, inner.as_ref().map(|i| i.span), replacement);
|
emit_return_lint(cx, ret_span, semi_spans, inner.as_ref().map(|i| i.span), replacement);
|
||||||
},
|
},
|
||||||
ExprKind::If(_, then, else_clause_opt) => {
|
ExprKind::If(_, then, else_clause_opt) => {
|
||||||
check_block_return(cx, &then.kind, semi_spans.clone());
|
check_block_return(cx, &then.kind, peeled_drop_expr.span, semi_spans.clone());
|
||||||
if let Some(else_clause) = else_clause_opt {
|
if let Some(else_clause) = else_clause_opt {
|
||||||
check_block_return(cx, &else_clause.kind, semi_spans);
|
check_block_return(cx, &else_clause.kind, peeled_drop_expr.span, semi_spans);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// a match expr, check all arms
|
// a match expr, check all arms
|
||||||
|
@ -246,7 +248,7 @@ fn check_final_expr<'tcx>(
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// if it's a whole block, check it
|
// if it's a whole block, check it
|
||||||
other_expr_kind => check_block_return(cx, other_expr_kind, semi_spans),
|
other_expr_kind => check_block_return(cx, other_expr_kind, peeled_drop_expr.span, semi_spans),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2491,6 +2491,10 @@ pub fn span_extract_comment(sm: &SourceMap, span: Span) -> String {
|
||||||
comments_buf.join("\n")
|
comments_buf.join("\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn span_find_starting_semi(sm: &SourceMap, span: Span) -> Span {
|
||||||
|
sm.span_take_while(span, |&ch| ch == ' ' || ch == ';')
|
||||||
|
}
|
||||||
|
|
||||||
macro_rules! op_utils {
|
macro_rules! op_utils {
|
||||||
($($name:ident $assign:ident)*) => {
|
($($name:ident $assign:ident)*) => {
|
||||||
/// Binary operation traits like `LangItem::Add`
|
/// Binary operation traits like `LangItem::Add`
|
||||||
|
|
|
@ -31,6 +31,16 @@ fn test_no_semicolon() -> bool {
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[rustfmt::skip]
|
||||||
|
fn test_multiple_semicolon() -> bool {
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
#[rustfmt::skip]
|
||||||
|
fn test_multiple_semicolon_with_spaces() -> bool {
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
fn test_if_block() -> bool {
|
fn test_if_block() -> bool {
|
||||||
if true {
|
if true {
|
||||||
true
|
true
|
||||||
|
|
|
@ -31,6 +31,16 @@ fn test_no_semicolon() -> bool {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[rustfmt::skip]
|
||||||
|
fn test_multiple_semicolon() -> bool {
|
||||||
|
return true;;;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[rustfmt::skip]
|
||||||
|
fn test_multiple_semicolon_with_spaces() -> bool {
|
||||||
|
return true;; ; ;
|
||||||
|
}
|
||||||
|
|
||||||
fn test_if_block() -> bool {
|
fn test_if_block() -> bool {
|
||||||
if true {
|
if true {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -16,7 +16,23 @@ LL | return true;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:36:9
|
--> $DIR/needless_return.rs:36:5
|
||||||
|
|
|
||||||
|
LL | return true;;;
|
||||||
|
| ^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= help: remove `return`
|
||||||
|
|
||||||
|
error: unneeded `return` statement
|
||||||
|
--> $DIR/needless_return.rs:41:5
|
||||||
|
|
|
||||||
|
LL | return true;; ; ;
|
||||||
|
| ^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= help: remove `return`
|
||||||
|
|
||||||
|
error: unneeded `return` statement
|
||||||
|
--> $DIR/needless_return.rs:46:9
|
||||||
|
|
|
|
||||||
LL | return true;
|
LL | return true;
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
@ -24,7 +40,7 @@ LL | return true;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:38:9
|
--> $DIR/needless_return.rs:48:9
|
||||||
|
|
|
|
||||||
LL | return false;
|
LL | return false;
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
@ -32,7 +48,7 @@ LL | return false;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:44:17
|
--> $DIR/needless_return.rs:54:17
|
||||||
|
|
|
|
||||||
LL | true => return false,
|
LL | true => return false,
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
@ -40,7 +56,7 @@ LL | true => return false,
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:46:13
|
--> $DIR/needless_return.rs:56:13
|
||||||
|
|
|
|
||||||
LL | return true;
|
LL | return true;
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
@ -48,7 +64,7 @@ LL | return true;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:53:9
|
--> $DIR/needless_return.rs:63:9
|
||||||
|
|
|
|
||||||
LL | return true;
|
LL | return true;
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
@ -56,7 +72,7 @@ LL | return true;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:55:16
|
--> $DIR/needless_return.rs:65:16
|
||||||
|
|
|
|
||||||
LL | let _ = || return true;
|
LL | let _ = || return true;
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
@ -64,7 +80,7 @@ LL | let _ = || return true;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:59:5
|
--> $DIR/needless_return.rs:69:5
|
||||||
|
|
|
|
||||||
LL | return the_answer!();
|
LL | return the_answer!();
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -72,7 +88,7 @@ LL | return the_answer!();
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:62:21
|
--> $DIR/needless_return.rs:72:21
|
||||||
|
|
|
|
||||||
LL | fn test_void_fun() {
|
LL | fn test_void_fun() {
|
||||||
| _____________________^
|
| _____________________^
|
||||||
|
@ -82,7 +98,7 @@ LL | | return;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:67:11
|
--> $DIR/needless_return.rs:77:11
|
||||||
|
|
|
|
||||||
LL | if b {
|
LL | if b {
|
||||||
| ___________^
|
| ___________^
|
||||||
|
@ -92,7 +108,7 @@ LL | | return;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:69:13
|
--> $DIR/needless_return.rs:79:13
|
||||||
|
|
|
|
||||||
LL | } else {
|
LL | } else {
|
||||||
| _____________^
|
| _____________^
|
||||||
|
@ -102,7 +118,7 @@ LL | | return;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:77:14
|
--> $DIR/needless_return.rs:87:14
|
||||||
|
|
|
|
||||||
LL | _ => return,
|
LL | _ => return,
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
@ -110,7 +126,7 @@ LL | _ => return,
|
||||||
= help: replace `return` with a unit value
|
= help: replace `return` with a unit value
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:85:24
|
--> $DIR/needless_return.rs:95:24
|
||||||
|
|
|
|
||||||
LL | let _ = 42;
|
LL | let _ = 42;
|
||||||
| ________________________^
|
| ________________________^
|
||||||
|
@ -120,7 +136,7 @@ LL | | return;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:88:14
|
--> $DIR/needless_return.rs:98:14
|
||||||
|
|
|
|
||||||
LL | _ => return,
|
LL | _ => return,
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
@ -128,7 +144,7 @@ LL | _ => return,
|
||||||
= help: replace `return` with a unit value
|
= help: replace `return` with a unit value
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:101:9
|
--> $DIR/needless_return.rs:111:9
|
||||||
|
|
|
|
||||||
LL | return String::from("test");
|
LL | return String::from("test");
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -136,7 +152,7 @@ LL | return String::from("test");
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:103:9
|
--> $DIR/needless_return.rs:113:9
|
||||||
|
|
|
|
||||||
LL | return String::new();
|
LL | return String::new();
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -144,7 +160,7 @@ LL | return String::new();
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:125:32
|
--> $DIR/needless_return.rs:135:32
|
||||||
|
|
|
|
||||||
LL | bar.unwrap_or_else(|_| return)
|
LL | bar.unwrap_or_else(|_| return)
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
@ -152,7 +168,7 @@ LL | bar.unwrap_or_else(|_| return)
|
||||||
= help: replace `return` with an empty block
|
= help: replace `return` with an empty block
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:129:21
|
--> $DIR/needless_return.rs:139:21
|
||||||
|
|
|
|
||||||
LL | let _ = || {
|
LL | let _ = || {
|
||||||
| _____________________^
|
| _____________________^
|
||||||
|
@ -162,7 +178,7 @@ LL | | return;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:132:20
|
--> $DIR/needless_return.rs:142:20
|
||||||
|
|
|
|
||||||
LL | let _ = || return;
|
LL | let _ = || return;
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
@ -170,7 +186,7 @@ LL | let _ = || return;
|
||||||
= help: replace `return` with an empty block
|
= help: replace `return` with an empty block
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:138:32
|
--> $DIR/needless_return.rs:148:32
|
||||||
|
|
|
|
||||||
LL | res.unwrap_or_else(|_| return Foo)
|
LL | res.unwrap_or_else(|_| return Foo)
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
@ -178,7 +194,7 @@ LL | res.unwrap_or_else(|_| return Foo)
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:147:5
|
--> $DIR/needless_return.rs:157:5
|
||||||
|
|
|
|
||||||
LL | return true;
|
LL | return true;
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
@ -186,7 +202,7 @@ LL | return true;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:151:5
|
--> $DIR/needless_return.rs:161:5
|
||||||
|
|
|
|
||||||
LL | return true;
|
LL | return true;
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
@ -194,7 +210,7 @@ LL | return true;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:156:9
|
--> $DIR/needless_return.rs:166:9
|
||||||
|
|
|
|
||||||
LL | return true;
|
LL | return true;
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
@ -202,7 +218,7 @@ LL | return true;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:158:9
|
--> $DIR/needless_return.rs:168:9
|
||||||
|
|
|
|
||||||
LL | return false;
|
LL | return false;
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
@ -210,7 +226,7 @@ LL | return false;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:164:17
|
--> $DIR/needless_return.rs:174:17
|
||||||
|
|
|
|
||||||
LL | true => return false,
|
LL | true => return false,
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
@ -218,7 +234,7 @@ LL | true => return false,
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:166:13
|
--> $DIR/needless_return.rs:176:13
|
||||||
|
|
|
|
||||||
LL | return true;
|
LL | return true;
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
@ -226,7 +242,7 @@ LL | return true;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:173:9
|
--> $DIR/needless_return.rs:183:9
|
||||||
|
|
|
|
||||||
LL | return true;
|
LL | return true;
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
@ -234,7 +250,7 @@ LL | return true;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:175:16
|
--> $DIR/needless_return.rs:185:16
|
||||||
|
|
|
|
||||||
LL | let _ = || return true;
|
LL | let _ = || return true;
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
@ -242,7 +258,7 @@ LL | let _ = || return true;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:179:5
|
--> $DIR/needless_return.rs:189:5
|
||||||
|
|
|
|
||||||
LL | return the_answer!();
|
LL | return the_answer!();
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -250,7 +266,7 @@ LL | return the_answer!();
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:182:33
|
--> $DIR/needless_return.rs:192:33
|
||||||
|
|
|
|
||||||
LL | async fn async_test_void_fun() {
|
LL | async fn async_test_void_fun() {
|
||||||
| _________________________________^
|
| _________________________________^
|
||||||
|
@ -260,7 +276,7 @@ LL | | return;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:187:11
|
--> $DIR/needless_return.rs:197:11
|
||||||
|
|
|
|
||||||
LL | if b {
|
LL | if b {
|
||||||
| ___________^
|
| ___________^
|
||||||
|
@ -270,7 +286,7 @@ LL | | return;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:189:13
|
--> $DIR/needless_return.rs:199:13
|
||||||
|
|
|
|
||||||
LL | } else {
|
LL | } else {
|
||||||
| _____________^
|
| _____________^
|
||||||
|
@ -280,7 +296,7 @@ LL | | return;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:197:14
|
--> $DIR/needless_return.rs:207:14
|
||||||
|
|
|
|
||||||
LL | _ => return,
|
LL | _ => return,
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
@ -288,7 +304,7 @@ LL | _ => return,
|
||||||
= help: replace `return` with a unit value
|
= help: replace `return` with a unit value
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:210:9
|
--> $DIR/needless_return.rs:220:9
|
||||||
|
|
|
|
||||||
LL | return String::from("test");
|
LL | return String::from("test");
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -296,7 +312,7 @@ LL | return String::from("test");
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:212:9
|
--> $DIR/needless_return.rs:222:9
|
||||||
|
|
|
|
||||||
LL | return String::new();
|
LL | return String::new();
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -304,7 +320,7 @@ LL | return String::new();
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:228:5
|
--> $DIR/needless_return.rs:238:5
|
||||||
|
|
|
|
||||||
LL | return format!("Hello {}", "world!");
|
LL | return format!("Hello {}", "world!");
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -312,7 +328,7 @@ LL | return format!("Hello {}", "world!");
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:239:9
|
--> $DIR/needless_return.rs:249:9
|
||||||
|
|
|
|
||||||
LL | return true;
|
LL | return true;
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
@ -320,7 +336,7 @@ LL | return true;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:241:9
|
--> $DIR/needless_return.rs:251:9
|
||||||
|
|
|
|
||||||
LL | return false;
|
LL | return false;
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
@ -328,7 +344,7 @@ LL | return false;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:248:13
|
--> $DIR/needless_return.rs:258:13
|
||||||
|
|
|
|
||||||
LL | return 10;
|
LL | return 10;
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
@ -336,7 +352,7 @@ LL | return 10;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:251:13
|
--> $DIR/needless_return.rs:261:13
|
||||||
|
|
|
|
||||||
LL | return 100;
|
LL | return 100;
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
@ -344,7 +360,7 @@ LL | return 100;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:259:9
|
--> $DIR/needless_return.rs:269:9
|
||||||
|
|
|
|
||||||
LL | return 0;
|
LL | return 0;
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
@ -352,7 +368,7 @@ LL | return 0;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:266:13
|
--> $DIR/needless_return.rs:276:13
|
||||||
|
|
|
|
||||||
LL | return *(x as *const isize);
|
LL | return *(x as *const isize);
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -360,7 +376,7 @@ LL | return *(x as *const isize);
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:268:13
|
--> $DIR/needless_return.rs:278:13
|
||||||
|
|
|
|
||||||
LL | return !*(x as *const isize);
|
LL | return !*(x as *const isize);
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -368,7 +384,7 @@ LL | return !*(x as *const isize);
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:275:20
|
--> $DIR/needless_return.rs:285:20
|
||||||
|
|
|
|
||||||
LL | let _ = 42;
|
LL | let _ = 42;
|
||||||
| ____________________^
|
| ____________________^
|
||||||
|
@ -379,7 +395,7 @@ LL | | return;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:282:20
|
--> $DIR/needless_return.rs:292:20
|
||||||
|
|
|
|
||||||
LL | let _ = 42; return;
|
LL | let _ = 42; return;
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
@ -387,7 +403,7 @@ LL | let _ = 42; return;
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:294:9
|
--> $DIR/needless_return.rs:304:9
|
||||||
|
|
|
|
||||||
LL | return Ok(format!("ok!"));
|
LL | return Ok(format!("ok!"));
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -395,12 +411,12 @@ LL | return Ok(format!("ok!"));
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: unneeded `return` statement
|
error: unneeded `return` statement
|
||||||
--> $DIR/needless_return.rs:296:9
|
--> $DIR/needless_return.rs:306:9
|
||||||
|
|
|
|
||||||
LL | return Err(format!("err!"));
|
LL | return Err(format!("err!"));
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
= help: remove `return`
|
= help: remove `return`
|
||||||
|
|
||||||
error: aborting due to 48 previous errors
|
error: aborting due to 50 previous errors
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue