aboutsummaryrefslogtreecommitdiff
path: root/lib/src/lints/empty_let_in.rs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/src/lints/empty_let_in.rs')
-rw-r--r--lib/src/lints/empty_let_in.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/src/lints/empty_let_in.rs b/lib/src/lints/empty_let_in.rs
index 390a1e1..0714ac0 100644
--- a/lib/src/lints/empty_let_in.rs
+++ b/lib/src/lints/empty_let_in.rs
@@ -1,5 +1,3 @@
1use std::ops::Not;
2
3use crate::{session::SessionInfo, Metadata, Report, Rule, Suggestion}; 1use crate::{session::SessionInfo, Metadata, Report, Rule, Suggestion};
4 2
5use if_chain::if_chain; 3use if_chain::if_chain;
@@ -49,15 +47,18 @@ impl Rule for EmptyLetIn {
49 if let Some(body) = let_in_expr.body(); 47 if let Some(body) = let_in_expr.body();
50 48
51 // ensure that the let-in-expr does not have comments 49 // ensure that the let-in-expr does not have comments
52 if node 50 let has_comments = node
53 .children_with_tokens() 51 .children_with_tokens()
54 .any(|el| el.kind() == SyntaxKind::TOKEN_COMMENT) 52 .any(|el| el.kind() == SyntaxKind::TOKEN_COMMENT);
55 .not();
56 then { 53 then {
57 let at = node.text_range(); 54 let at = node.text_range();
58 let replacement = body; 55 let replacement = body;
59 let message = "This let-in expression has no entries"; 56 let message = "This let-in expression has no entries";
60 Some(self.report().suggest(at, message, Suggestion::new(at, replacement))) 57 Some(if has_comments {
58 self.report().diagnostic(at, message)
59 } else {
60 self.report().suggest(at, message, Suggestion::new(at, replacement))
61 })
61 } else { 62 } else {
62 None 63 None
63 } 64 }