diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-06-04 23:14:46 +0100 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-06-04 23:14:46 +0100 |
commit | 5deb907b4321d8328978d3322b0826b781814452 (patch) | |
tree | 2baa3b75b1ef62c02617c37ba9b800c41a3dd102 /crates/ra_assists/src | |
parent | 8bd0e844247dc28d6ceb24b00f3cc3396bd5bf03 (diff) | |
parent | aa30c4909ebb1e85f1591f465c9e2875aa4d394e (diff) |
Merge #1374
1374: Implement `cargo lint` and fix some clippy errors r=alanhdu a=alanhdu
This creates a `cargo lint` command that runs clippy with certain lints disabled. I've also gone ahead and fixed some of the lint errors, although there are many more still to go.
cc #848
Co-authored-by: Alan Du <[email protected]>
Diffstat (limited to 'crates/ra_assists/src')
-rw-r--r-- | crates/ra_assists/src/ast_editor.rs | 26 | ||||
-rw-r--r-- | crates/ra_assists/src/auto_import.rs | 4 | ||||
-rw-r--r-- | crates/ra_assists/src/change_visibility.rs | 2 | ||||
-rw-r--r-- | crates/ra_assists/src/introduce_variable.rs | 4 |
4 files changed, 16 insertions, 20 deletions
diff --git a/crates/ra_assists/src/ast_editor.rs b/crates/ra_assists/src/ast_editor.rs index cabb3d862..de0529b32 100644 --- a/crates/ra_assists/src/ast_editor.rs +++ b/crates/ra_assists/src/ast_editor.rs | |||
@@ -212,21 +212,17 @@ impl AstEditor<ast::FnDef> { | |||
212 | } | 212 | } |
213 | 213 | ||
214 | pub fn strip_attrs_and_docs(&mut self) { | 214 | pub fn strip_attrs_and_docs(&mut self) { |
215 | loop { | 215 | while let Some(start) = self |
216 | if let Some(start) = self | 216 | .ast() |
217 | .ast() | 217 | .syntax() |
218 | .syntax() | 218 | .children_with_tokens() |
219 | .children_with_tokens() | 219 | .find(|it| it.kind() == ATTR || it.kind() == COMMENT) |
220 | .find(|it| it.kind() == ATTR || it.kind() == COMMENT) | 220 | { |
221 | { | 221 | let end = match start.next_sibling_or_token() { |
222 | let end = match start.next_sibling_or_token() { | 222 | Some(el) if el.kind() == WHITESPACE => el, |
223 | Some(el) if el.kind() == WHITESPACE => el, | 223 | Some(_) | None => start, |
224 | Some(_) | None => start, | 224 | }; |
225 | }; | 225 | self.ast = self.replace_children(RangeInclusive::new(start, end), iter::empty()); |
226 | self.ast = self.replace_children(RangeInclusive::new(start, end), iter::empty()); | ||
227 | } else { | ||
228 | break; | ||
229 | } | ||
230 | } | 226 | } |
231 | } | 227 | } |
232 | } | 228 | } |
diff --git a/crates/ra_assists/src/auto_import.rs b/crates/ra_assists/src/auto_import.rs index 1566cf179..9617beb5c 100644 --- a/crates/ra_assists/src/auto_import.rs +++ b/crates/ra_assists/src/auto_import.rs | |||
@@ -334,7 +334,7 @@ fn best_action_for_target<'b, 'a: 'b>( | |||
334 | .filter_map(ast::UseItem::use_tree) | 334 | .filter_map(ast::UseItem::use_tree) |
335 | .map(|u| walk_use_tree_for_best_action(&mut storage, None, u, target)) | 335 | .map(|u| walk_use_tree_for_best_action(&mut storage, None, u, target)) |
336 | .fold(None, |best, a| { | 336 | .fold(None, |best, a| { |
337 | best.and_then(|best| Some(*ImportAction::better(&best, &a))).or(Some(a)) | 337 | best.and_then(|best| Some(*ImportAction::better(&best, &a))).or_else(|| Some(a)) |
338 | }); | 338 | }); |
339 | 339 | ||
340 | match best_action { | 340 | match best_action { |
@@ -347,7 +347,7 @@ fn best_action_for_target<'b, 'a: 'b>( | |||
347 | let anchor = container | 347 | let anchor = container |
348 | .children() | 348 | .children() |
349 | .find(|n| n.range().start() < anchor.range().start()) | 349 | .find(|n| n.range().start() < anchor.range().start()) |
350 | .or(Some(anchor)); | 350 | .or_else(|| Some(anchor)); |
351 | 351 | ||
352 | return ImportAction::add_new_use(anchor, false); | 352 | return ImportAction::add_new_use(anchor, false); |
353 | } | 353 | } |
diff --git a/crates/ra_assists/src/change_visibility.rs b/crates/ra_assists/src/change_visibility.rs index 620f534b5..4eb24d27f 100644 --- a/crates/ra_assists/src/change_visibility.rs +++ b/crates/ra_assists/src/change_visibility.rs | |||
@@ -59,7 +59,7 @@ fn vis_offset(node: &SyntaxNode) -> TextUnit { | |||
59 | }) | 59 | }) |
60 | .next() | 60 | .next() |
61 | .map(|it| it.range().start()) | 61 | .map(|it| it.range().start()) |
62 | .unwrap_or(node.range().start()) | 62 | .unwrap_or_else(|| node.range().start()) |
63 | } | 63 | } |
64 | 64 | ||
65 | fn change_vis(mut ctx: AssistCtx<impl HirDatabase>, vis: &ast::Visibility) -> Option<Assist> { | 65 | fn change_vis(mut ctx: AssistCtx<impl HirDatabase>, vis: &ast::Visibility) -> Option<Assist> { |
diff --git a/crates/ra_assists/src/introduce_variable.rs b/crates/ra_assists/src/introduce_variable.rs index fb7333c8c..28467d341 100644 --- a/crates/ra_assists/src/introduce_variable.rs +++ b/crates/ra_assists/src/introduce_variable.rs | |||
@@ -57,9 +57,9 @@ pub(crate) fn introduce_variable(mut ctx: AssistCtx<impl HirDatabase>) -> Option | |||
57 | if text.starts_with("\r\n") { | 57 | if text.starts_with("\r\n") { |
58 | buf.push_str("\r\n"); | 58 | buf.push_str("\r\n"); |
59 | buf.push_str(text.trim_start_matches("\r\n")); | 59 | buf.push_str(text.trim_start_matches("\r\n")); |
60 | } else if text.starts_with("\n") { | 60 | } else if text.starts_with('\n') { |
61 | buf.push_str("\n"); | 61 | buf.push_str("\n"); |
62 | buf.push_str(text.trim_start_matches("\n")); | 62 | buf.push_str(text.trim_start_matches('\n')); |
63 | } else { | 63 | } else { |
64 | buf.push_str(text); | 64 | buf.push_str(text); |
65 | } | 65 | } |