about summary refs log tree commit diff
path: root/clippy_lints/src/needless_continue.rs
diff options
context:
space:
mode:
authorF3real <stefan92ff@yandex.com>2021-07-21 23:15:29 +0200
committerF3real <stefan92ff@yandex.com>2021-07-21 23:32:16 +0200
commit9d6127cdb0bead8f3a19440e9029edc9bf2e9a25 (patch)
treed48bf9b0ece7c9572f2d40b80fedc95167fdcd44 /clippy_lints/src/needless_continue.rs
parent24ec35a90433b40fcca4272dce27c107f7be51d9 (diff)
downloadrust-9d6127cdb0bead8f3a19440e9029edc9bf2e9a25.tar.gz
rust-9d6127cdb0bead8f3a19440e9029edc9bf2e9a25.zip
Emit needless_continue warning if loop ends on continue
Diffstat (limited to 'clippy_lints/src/needless_continue.rs')
-rw-r--r--clippy_lints/src/needless_continue.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/clippy_lints/src/needless_continue.rs b/clippy_lints/src/needless_continue.rs
index 6191747184b..0c2b382b3d2 100644
--- a/clippy_lints/src/needless_continue.rs
+++ b/clippy_lints/src/needless_continue.rs
@@ -370,14 +370,14 @@ fn suggestion_snippet_for_continue_inside_else<'a>(cx: &EarlyContext<'_>, data:
 fn check_and_warn<'a>(cx: &EarlyContext<'_>, expr: &'a ast::Expr) {
     if_chain! {
         if let ast::ExprKind::Loop(loop_block, ..) = &expr.kind;
-        if loop_block.stmts.len() == 1;
-        if let ast::StmtKind::Semi(ref statement) = loop_block.stmts.first().unwrap().kind;
+        if !loop_block.stmts.is_empty();
+        if let ast::StmtKind::Semi(ref statement) = loop_block.stmts.last().unwrap().kind;
         if let ast::ExprKind::Continue(_) = statement.kind;
         then {
             span_lint_and_help(
                 cx,
                 NEEDLESS_CONTINUE,
-                loop_block.stmts.first().unwrap().span,
+                loop_block.stmts.last().unwrap().span,
                 MSG_REDUNDANT_CONTINUE_EXPRESSION,
                 None,
                 DROP_CONTINUE_EXPRESSION_MSG,