From d493a4476c2059924d032fbf01dda091601f9667 Mon Sep 17 00:00:00 2001 From: Alan Du Date: Tue, 16 Oct 2018 11:51:58 -0400 Subject: clippy: Use if lets and remove redundant returns --- crates/ra_syntax/src/algo/mod.rs | 5 +++-- crates/ra_syntax/src/ast/mod.rs | 5 ++--- crates/ra_syntax/src/grammar/expressions/atom.rs | 5 ++--- crates/ra_syntax/src/grammar/items/mod.rs | 6 ++---- crates/ra_syntax/src/grammar/patterns.rs | 5 ++--- crates/ra_syntax/src/utils.rs | 2 +- 6 files changed, 12 insertions(+), 16 deletions(-) (limited to 'crates/ra_syntax/src') diff --git a/crates/ra_syntax/src/algo/mod.rs b/crates/ra_syntax/src/algo/mod.rs index 9d2014bc7..87f1250bc 100644 --- a/crates/ra_syntax/src/algo/mod.rs +++ b/crates/ra_syntax/src/algo/mod.rs @@ -30,7 +30,8 @@ pub fn find_leaf_at_offset(node: SyntaxNodeRef, offset: TextUnit) -> LeafAtOffse let left = children.next().unwrap(); let right = children.next(); assert!(children.next().is_none()); - return if let Some(right) = right { + + if let Some(right) = right { match ( find_leaf_at_offset(left, offset), find_leaf_at_offset(right, offset), @@ -42,7 +43,7 @@ pub fn find_leaf_at_offset(node: SyntaxNodeRef, offset: TextUnit) -> LeafAtOffse } } else { find_leaf_at_offset(left, offset) - }; + } } #[derive(Clone, Copy, Debug)] diff --git a/crates/ra_syntax/src/ast/mod.rs b/crates/ra_syntax/src/ast/mod.rs index 34958b6cb..900426a8a 100644 --- a/crates/ra_syntax/src/ast/mod.rs +++ b/crates/ra_syntax/src/ast/mod.rs @@ -259,9 +259,8 @@ impl<'a, N: AstNode<'a>> Iterator for AstChildren<'a, N> { type Item = N; fn next(&mut self) -> Option { loop { - match N::cast(self.inner.next()?) { - Some(n) => return Some(n), - None => (), + if let Some(n) = N::cast(self.inner.next()?) { + return Some(n); } } } diff --git a/crates/ra_syntax/src/grammar/expressions/atom.rs b/crates/ra_syntax/src/grammar/expressions/atom.rs index 11f766d33..04087fd60 100644 --- a/crates/ra_syntax/src/grammar/expressions/atom.rs +++ b/crates/ra_syntax/src/grammar/expressions/atom.rs @@ -62,9 +62,8 @@ pub(super) const ATOM_EXPR_FIRST: TokenSet = token_set_union![ const EXPR_RECOVERY_SET: TokenSet = token_set![LET_KW]; pub(super) fn atom_expr(p: &mut Parser, r: Restrictions) -> Option { - match literal(p) { - Some(m) => return Some(m), - None => (), + if let Some(m) = literal(p) { + return Some(m); } if paths::is_path_start(p) || p.at(L_ANGLE) { return Some(path_expr(p, r)); diff --git a/crates/ra_syntax/src/grammar/items/mod.rs b/crates/ra_syntax/src/grammar/items/mod.rs index dc4742bce..06c6b5e6e 100644 --- a/crates/ra_syntax/src/grammar/items/mod.rs +++ b/crates/ra_syntax/src/grammar/items/mod.rs @@ -352,7 +352,7 @@ fn macro_call(p: &mut Parser) -> BlockLike { pub(super) fn macro_call_after_excl(p: &mut Parser) -> BlockLike { p.expect(EXCL); p.eat(IDENT); - let flavor = match p.current() { + match p.current() { L_CURLY => { token_tree(p); BlockLike::Block @@ -365,9 +365,7 @@ pub(super) fn macro_call_after_excl(p: &mut Parser) -> BlockLike { p.error("expected `{`, `[`, `(`"); BlockLike::NotBlock } - }; - - flavor + } } pub(crate) fn token_tree(p: &mut Parser) { diff --git a/crates/ra_syntax/src/grammar/patterns.rs b/crates/ra_syntax/src/grammar/patterns.rs index 9d35dbb3d..10fa0e0be 100644 --- a/crates/ra_syntax/src/grammar/patterns.rs +++ b/crates/ra_syntax/src/grammar/patterns.rs @@ -49,9 +49,8 @@ fn atom_pat(p: &mut Parser, recovery_set: TokenSet) -> Option { // "hello" => (), // } // } - match expressions::literal(p) { - Some(m) => return Some(m), - None => (), + if let Some(m) = expressions::literal(p) { + return Some(m); } let m = match la0 { diff --git a/crates/ra_syntax/src/utils.rs b/crates/ra_syntax/src/utils.rs index 7d0ef2fa2..ca4160378 100644 --- a/crates/ra_syntax/src/utils.rs +++ b/crates/ra_syntax/src/utils.rs @@ -42,7 +42,7 @@ pub fn dump_tree(syntax: SyntaxNodeRef) -> String { writeln!(buf, "err: `{}`", err.msg).unwrap(); } - return buf; + buf } pub fn check_fuzz_invariants(text: &str) { -- cgit v1.2.3 From 4e8ea94e2b72a3e927c8ff1b5f3fe2413ccc79a7 Mon Sep 17 00:00:00 2001 From: Alan Du Date: Tue, 16 Oct 2018 11:54:29 -0400 Subject: Remove Copy trait on LeafAtOffset Because it's a stateful iterator, it's easier to explicitly clone it when necesary. Fixes clippy:clone_on_copy --- crates/ra_syntax/src/algo/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crates/ra_syntax/src') diff --git a/crates/ra_syntax/src/algo/mod.rs b/crates/ra_syntax/src/algo/mod.rs index 87f1250bc..d82c42b3e 100644 --- a/crates/ra_syntax/src/algo/mod.rs +++ b/crates/ra_syntax/src/algo/mod.rs @@ -46,7 +46,7 @@ pub fn find_leaf_at_offset(node: SyntaxNodeRef, offset: TextUnit) -> LeafAtOffse } } -#[derive(Clone, Copy, Debug)] +#[derive(Clone, Debug)] pub enum LeafAtOffset<'a> { None, Single(SyntaxNodeRef<'a>), -- cgit v1.2.3 From fc8024de51261d252b1ad88566db6e246d14ee16 Mon Sep 17 00:00:00 2001 From: Alan Du Date: Tue, 16 Oct 2018 14:08:52 -0400 Subject: clippy: type_complexity --- crates/ra_syntax/src/reparsing.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'crates/ra_syntax/src') diff --git a/crates/ra_syntax/src/reparsing.rs b/crates/ra_syntax/src/reparsing.rs index a0014e016..377152de4 100644 --- a/crates/ra_syntax/src/reparsing.rs +++ b/crates/ra_syntax/src/reparsing.rs @@ -98,17 +98,18 @@ fn is_contextual_kw(text: &str) -> bool { } } -fn find_reparsable_node<'node>( - node: SyntaxNodeRef<'node>, +type ParseFn = fn(&mut Parser); +fn find_reparsable_node( + node: SyntaxNodeRef<'_>, range: TextRange, -) -> Option<(SyntaxNodeRef<'node>, fn(&mut Parser))> { +) -> Option<(SyntaxNodeRef<'_>, ParseFn)> { let node = algo::find_covering_node(node, range); return node .ancestors() .filter_map(|node| reparser(node).map(|r| (node, r))) .next(); - fn reparser(node: SyntaxNodeRef) -> Option { + fn reparser(node: SyntaxNodeRef) -> Option { let res = match node.kind() { BLOCK => grammar::block, NAMED_FIELD_DEF_LIST => grammar::named_field_def_list, -- cgit v1.2.3 From a5da770ec60a73abcc5350f25146be973540063f Mon Sep 17 00:00:00 2001 From: Alan Du Date: Wed, 17 Oct 2018 19:25:37 -0400 Subject: Fix function calls --- crates/ra_syntax/src/lexer/ptr.rs | 2 +- crates/ra_syntax/src/reparsing.rs | 2 +- crates/ra_syntax/src/utils.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'crates/ra_syntax/src') diff --git a/crates/ra_syntax/src/lexer/ptr.rs b/crates/ra_syntax/src/lexer/ptr.rs index fa79d8862..4c291b9c4 100644 --- a/crates/ra_syntax/src/lexer/ptr.rs +++ b/crates/ra_syntax/src/lexer/ptr.rs @@ -31,7 +31,7 @@ impl<'s> Ptr<'s> { /// For example, 0 will return the current token, 1 will return the next, etc. pub fn nth(&self, n: u32) -> Option { let mut chars = self.chars().peekable(); - chars.by_ref().skip(n as usize).next() + chars.by_ref().nth(n as usize) } /// Checks whether the current character is `c`. diff --git a/crates/ra_syntax/src/reparsing.rs b/crates/ra_syntax/src/reparsing.rs index 377152de4..eae01b1d5 100644 --- a/crates/ra_syntax/src/reparsing.rs +++ b/crates/ra_syntax/src/reparsing.rs @@ -135,7 +135,7 @@ fn find_reparsable_node( } fn is_balanced(tokens: &[Token]) -> bool { - if tokens.len() == 0 + if tokens.is_empty() || tokens.first().unwrap().kind != L_CURLY || tokens.last().unwrap().kind != R_CURLY { diff --git a/crates/ra_syntax/src/utils.rs b/crates/ra_syntax/src/utils.rs index ca4160378..8ee02724d 100644 --- a/crates/ra_syntax/src/utils.rs +++ b/crates/ra_syntax/src/utils.rs @@ -5,7 +5,7 @@ use std::fmt::Write; /// Parse a file and create a string representation of the resulting parse tree. pub fn dump_tree(syntax: SyntaxNodeRef) -> String { - let mut errors: Vec<_> = syntax.root_data().iter().cloned().collect(); + let mut errors: Vec<_> = syntax.root_data().to_vec(); errors.sort_by_key(|e| e.offset); let mut err_pos = 0; let mut level = 0; -- cgit v1.2.3