Make lint span smaller for needless return (#14790)
Fixes rust-lang/rust-clippy#14750 by reducing the lint span for needless_return. changelog: [`needless_return`]: Lint span no longer wraps to previous line
This commit is contained in:
commit
f00c58b374
7 changed files with 62 additions and 74 deletions
|
|
@ -423,7 +423,14 @@ fn check_final_expr<'tcx>(
|
|||
_ => return,
|
||||
}
|
||||
|
||||
emit_return_lint(cx, ret_span, semi_spans, &replacement, expr.hir_id);
|
||||
emit_return_lint(
|
||||
cx,
|
||||
peeled_drop_expr.span,
|
||||
ret_span,
|
||||
semi_spans,
|
||||
&replacement,
|
||||
expr.hir_id,
|
||||
);
|
||||
},
|
||||
ExprKind::If(_, then, else_clause_opt) => {
|
||||
check_block_return(cx, &then.kind, peeled_drop_expr.span, semi_spans.clone());
|
||||
|
|
@ -448,6 +455,7 @@ fn check_final_expr<'tcx>(
|
|||
|
||||
fn emit_return_lint(
|
||||
cx: &LateContext<'_>,
|
||||
lint_span: Span,
|
||||
ret_span: Span,
|
||||
semi_spans: Vec<Span>,
|
||||
replacement: &RetReplacement<'_>,
|
||||
|
|
@ -457,7 +465,7 @@ fn emit_return_lint(
|
|||
cx,
|
||||
NEEDLESS_RETURN,
|
||||
at,
|
||||
ret_span,
|
||||
lint_span,
|
||||
"unneeded `return` statement",
|
||||
|diag| {
|
||||
let suggestions = std::iter::once((ret_span, replacement.to_string()))
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@
|
|||
fn main() {
|
||||
if (true) {
|
||||
// anything一些中文
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,6 @@ fn main() {
|
|||
if (true) {
|
||||
// anything一些中文
|
||||
return;
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
error: unneeded `return` statement
|
||||
--> tests/ui/crashes/ice-12491.rs:5:24
|
||||
--> tests/ui/crashes/ice-12491.rs:6:9
|
||||
|
|
||||
LL | // anything一些中文
|
||||
| ____________________________^
|
||||
LL | | return;
|
||||
| |______________^
|
||||
LL | return;
|
||||
| ^^^^^^
|
||||
|
|
||||
= note: `-D clippy::needless-return` implied by `-D warnings`
|
||||
= help: to override `-D warnings` add `#[allow(clippy::needless_return)]`
|
||||
|
|
|
|||
|
|
@ -84,14 +84,14 @@ fn test_macro_call() -> i32 {
|
|||
}
|
||||
|
||||
fn test_void_fun() {
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
}
|
||||
|
||||
fn test_void_if_fun(b: bool) {
|
||||
if b {
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
} else {
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ fn test_nested_match(x: u32) {
|
|||
0 => (),
|
||||
1 => {
|
||||
let _ = 42;
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
},
|
||||
_ => (),
|
||||
//~^ needless_return
|
||||
|
|
@ -156,7 +156,7 @@ mod issue6501 {
|
|||
|
||||
fn test_closure() {
|
||||
let _ = || {
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
};
|
||||
let _ = || {};
|
||||
//~^ needless_return
|
||||
|
|
@ -220,14 +220,14 @@ async fn async_test_macro_call() -> i32 {
|
|||
}
|
||||
|
||||
async fn async_test_void_fun() {
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
}
|
||||
|
||||
async fn async_test_void_if_fun(b: bool) {
|
||||
if b {
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
} else {
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -354,7 +354,7 @@ fn issue9503(x: usize) -> isize {
|
|||
mod issue9416 {
|
||||
pub fn with_newline() {
|
||||
let _ = 42;
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
}
|
||||
|
||||
#[rustfmt::skip]
|
||||
|
|
|
|||
|
|
@ -85,16 +85,16 @@ fn test_macro_call() -> i32 {
|
|||
|
||||
fn test_void_fun() {
|
||||
return;
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
}
|
||||
|
||||
fn test_void_if_fun(b: bool) {
|
||||
if b {
|
||||
return;
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
} else {
|
||||
return;
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -112,7 +112,7 @@ fn test_nested_match(x: u32) {
|
|||
1 => {
|
||||
let _ = 42;
|
||||
return;
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
},
|
||||
_ => return,
|
||||
//~^ needless_return
|
||||
|
|
@ -161,7 +161,7 @@ mod issue6501 {
|
|||
fn test_closure() {
|
||||
let _ = || {
|
||||
return;
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
};
|
||||
let _ = || return;
|
||||
//~^ needless_return
|
||||
|
|
@ -226,16 +226,16 @@ async fn async_test_macro_call() -> i32 {
|
|||
|
||||
async fn async_test_void_fun() {
|
||||
return;
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
}
|
||||
|
||||
async fn async_test_void_if_fun(b: bool) {
|
||||
if b {
|
||||
return;
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
} else {
|
||||
return;
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -363,7 +363,7 @@ mod issue9416 {
|
|||
pub fn with_newline() {
|
||||
let _ = 42;
|
||||
return;
|
||||
//~^^ needless_return
|
||||
//~^ needless_return
|
||||
}
|
||||
|
||||
#[rustfmt::skip]
|
||||
|
|
|
|||
|
|
@ -133,12 +133,10 @@ LL + the_answer!()
|
|||
|
|
||||
|
||||
error: unneeded `return` statement
|
||||
--> tests/ui/needless_return.rs:86:21
|
||||
--> tests/ui/needless_return.rs:87:5
|
||||
|
|
||||
LL | fn test_void_fun() {
|
||||
| _____________________^
|
||||
LL | | return;
|
||||
| |__________^
|
||||
LL | return;
|
||||
| ^^^^^^
|
||||
|
|
||||
help: remove `return`
|
||||
|
|
||||
|
|
@ -148,12 +146,10 @@ LL + fn test_void_fun() {
|
|||
|
|
||||
|
||||
error: unneeded `return` statement
|
||||
--> tests/ui/needless_return.rs:92:11
|
||||
--> tests/ui/needless_return.rs:93:9
|
||||
|
|
||||
LL | if b {
|
||||
| ___________^
|
||||
LL | | return;
|
||||
| |______________^
|
||||
LL | return;
|
||||
| ^^^^^^
|
||||
|
|
||||
help: remove `return`
|
||||
|
|
||||
|
|
@ -163,12 +159,10 @@ LL + if b {
|
|||
|
|
||||
|
||||
error: unneeded `return` statement
|
||||
--> tests/ui/needless_return.rs:95:13
|
||||
--> tests/ui/needless_return.rs:96:9
|
||||
|
|
||||
LL | } else {
|
||||
| _____________^
|
||||
LL | | return;
|
||||
| |______________^
|
||||
LL | return;
|
||||
| ^^^^^^
|
||||
|
|
||||
help: remove `return`
|
||||
|
|
||||
|
|
@ -190,12 +184,10 @@ LL + _ => (),
|
|||
|
|
||||
|
||||
error: unneeded `return` statement
|
||||
--> tests/ui/needless_return.rs:113:24
|
||||
--> tests/ui/needless_return.rs:114:13
|
||||
|
|
||||
LL | let _ = 42;
|
||||
| ________________________^
|
||||
LL | | return;
|
||||
| |__________________^
|
||||
LL | return;
|
||||
| ^^^^^^
|
||||
|
|
||||
help: remove `return`
|
||||
|
|
||||
|
|
@ -253,12 +245,10 @@ LL + bar.unwrap_or_else(|_| {})
|
|||
|
|
||||
|
||||
error: unneeded `return` statement
|
||||
--> tests/ui/needless_return.rs:162:21
|
||||
--> tests/ui/needless_return.rs:163:13
|
||||
|
|
||||
LL | let _ = || {
|
||||
| _____________________^
|
||||
LL | | return;
|
||||
| |__________________^
|
||||
LL | return;
|
||||
| ^^^^^^
|
||||
|
|
||||
help: remove `return`
|
||||
|
|
||||
|
|
@ -400,12 +390,10 @@ LL + the_answer!()
|
|||
|
|
||||
|
||||
error: unneeded `return` statement
|
||||
--> tests/ui/needless_return.rs:227:33
|
||||
--> tests/ui/needless_return.rs:228:5
|
||||
|
|
||||
LL | async fn async_test_void_fun() {
|
||||
| _________________________________^
|
||||
LL | | return;
|
||||
| |__________^
|
||||
LL | return;
|
||||
| ^^^^^^
|
||||
|
|
||||
help: remove `return`
|
||||
|
|
||||
|
|
@ -415,12 +403,10 @@ LL + async fn async_test_void_fun() {
|
|||
|
|
||||
|
||||
error: unneeded `return` statement
|
||||
--> tests/ui/needless_return.rs:233:11
|
||||
--> tests/ui/needless_return.rs:234:9
|
||||
|
|
||||
LL | if b {
|
||||
| ___________^
|
||||
LL | | return;
|
||||
| |______________^
|
||||
LL | return;
|
||||
| ^^^^^^
|
||||
|
|
||||
help: remove `return`
|
||||
|
|
||||
|
|
@ -430,12 +416,10 @@ LL + if b {
|
|||
|
|
||||
|
||||
error: unneeded `return` statement
|
||||
--> tests/ui/needless_return.rs:236:13
|
||||
--> tests/ui/needless_return.rs:237:9
|
||||
|
|
||||
LL | } else {
|
||||
| _____________^
|
||||
LL | | return;
|
||||
| |______________^
|
||||
LL | return;
|
||||
| ^^^^^^
|
||||
|
|
||||
help: remove `return`
|
||||
|
|
||||
|
|
@ -593,12 +577,10 @@ LL ~ }
|
|||
|
|
||||
|
||||
error: unneeded `return` statement
|
||||
--> tests/ui/needless_return.rs:364:20
|
||||
--> tests/ui/needless_return.rs:365:9
|
||||
|
|
||||
LL | let _ = 42;
|
||||
| ____________________^
|
||||
LL | | return;
|
||||
| |______________^
|
||||
LL | return;
|
||||
| ^^^^^^
|
||||
|
|
||||
help: remove `return`
|
||||
|
|
||||
|
|
@ -608,10 +590,10 @@ LL + let _ = 42;
|
|||
|
|
||||
|
||||
error: unneeded `return` statement
|
||||
--> tests/ui/needless_return.rs:371:20
|
||||
--> tests/ui/needless_return.rs:371:21
|
||||
|
|
||||
LL | let _ = 42; return;
|
||||
| ^^^^^^^
|
||||
| ^^^^^^
|
||||
|
|
||||
help: remove `return`
|
||||
|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue