From 629e8d1ed0aeabf27a1e1b1d3c8c9134716043e3 Mon Sep 17 00:00:00 2001 From: Clemens Wasser Date: Thu, 3 Jun 2021 12:46:56 +0200 Subject: Apply more clippy suggestions and update generated --- crates/mbe/src/benchmark.rs | 2 +- crates/mbe/src/expander/matcher.rs | 21 +++++++-------------- crates/mbe/src/lib.rs | 10 +++++----- crates/mbe/src/parser.rs | 2 +- crates/mbe/src/syntax_bridge.rs | 5 ++--- crates/mbe/src/tt_iter.rs | 2 +- 6 files changed, 17 insertions(+), 25 deletions(-) (limited to 'crates/mbe') diff --git a/crates/mbe/src/benchmark.rs b/crates/mbe/src/benchmark.rs index 38707ffa5..18eb97f0d 100644 --- a/crates/mbe/src/benchmark.rs +++ b/crates/mbe/src/benchmark.rs @@ -187,7 +187,7 @@ fn invocation_fixtures(rules: &FxHashMap) -> Vec<(String, tt let a = 1664525; let c = 1013904223; *seed = usize::wrapping_add(usize::wrapping_mul(*seed, a), c); - return *seed; + *seed } fn make_ident(ident: &str) -> tt::TokenTree { tt::Leaf::Ident(tt::Ident { id: tt::TokenId::unspecified(), text: SmolStr::new(ident) }) diff --git a/crates/mbe/src/expander/matcher.rs b/crates/mbe/src/expander/matcher.rs index 84ca3ff87..c982eb58f 100644 --- a/crates/mbe/src/expander/matcher.rs +++ b/crates/mbe/src/expander/matcher.rs @@ -219,7 +219,7 @@ impl BindingsBuilder { bindings } - fn build_inner(&self, bindings: &mut Bindings, link_nodes: &Vec>>) { + fn build_inner(&self, bindings: &mut Bindings, link_nodes: &[LinkNode>]) { let mut nodes = Vec::new(); self.collect_nodes(&link_nodes, &mut nodes); @@ -301,7 +301,7 @@ impl BindingsBuilder { fn collect_nodes<'a>( &'a self, - link_nodes: &'a Vec>>, + link_nodes: &'a [LinkNode>], nodes: &mut Vec<&'a Rc>, ) { link_nodes.iter().for_each(|it| match it { @@ -494,15 +494,8 @@ fn match_loop_inner<'t>( } Some(err) => { res.add_err(err); - match match_res.value { - Some(fragment) => { - bindings_builder.push_fragment( - &mut item.bindings, - &name, - fragment, - ); - } - _ => {} + if let Some(fragment) = match_res.value { + bindings_builder.push_fragment(&mut item.bindings, &name, fragment); } item.is_error = true; error_items.push(item); @@ -578,9 +571,9 @@ fn match_loop(pattern: &MetaTemplate, src: &tt::Subtree) -> Match { ); stdx::always!(cur_items.is_empty()); - if error_items.len() > 0 { + if !error_items.is_empty() { error_recover_item = error_items.pop().map(|it| it.bindings); - } else if eof_items.len() > 0 { + } else if !eof_items.is_empty() { error_recover_item = Some(eof_items[0].bindings.clone()); } @@ -793,7 +786,7 @@ impl<'a> TtIter<'a> { _ => (), } - let tt = self.next().ok_or_else(|| ())?.clone(); + let tt = self.next().ok_or(())?.clone(); let punct = match tt { tt::TokenTree::Leaf(tt::Leaf::Punct(punct)) if punct.spacing == tt::Spacing::Joint => { punct diff --git a/crates/mbe/src/lib.rs b/crates/mbe/src/lib.rs index b95374b76..380a50744 100644 --- a/crates/mbe/src/lib.rs +++ b/crates/mbe/src/lib.rs @@ -295,8 +295,8 @@ fn validate(pattern: &MetaTemplate) -> Result<(), ParseError> { // Checks that no repetition which could match an empty token // https://github.com/rust-lang/rust/blob/a58b1ed44f5e06976de2bdc4d7dc81c36a96934f/src/librustc_expand/mbe/macro_rules.rs#L558 - if separator.is_none() { - if subtree.iter().all(|child_op| { + if separator.is_none() + && subtree.iter().all(|child_op| { match child_op { Op::Var { kind, .. } => { // vis is optional @@ -314,9 +314,9 @@ fn validate(pattern: &MetaTemplate) -> Result<(), ParseError> { Op::Subtree { .. } => {} } false - }) { - return Err(ParseError::RepetitionEmptyTokenTree); - } + }) + { + return Err(ParseError::RepetitionEmptyTokenTree); } validate(subtree)? } diff --git a/crates/mbe/src/parser.rs b/crates/mbe/src/parser.rs index 61b2a4955..04c0d3e75 100644 --- a/crates/mbe/src/parser.rs +++ b/crates/mbe/src/parser.rs @@ -213,7 +213,7 @@ fn next_op<'a>(first: &tt::TokenTree, src: &mut TtIter<'a>, mode: Mode) -> Resul Ok(res) } -fn eat_fragment_kind<'a>(src: &mut TtIter<'a>, mode: Mode) -> Result, ParseError> { +fn eat_fragment_kind(src: &mut TtIter<'_>, mode: Mode) -> Result, ParseError> { if let Mode::Pattern = mode { src.expect_char(':').map_err(|()| err!("bad fragment specifier 1"))?; let ident = src.expect_ident().map_err(|()| err!("bad fragment specifier 1"))?; diff --git a/crates/mbe/src/syntax_bridge.rs b/crates/mbe/src/syntax_bridge.rs index b11172caf..978c75747 100644 --- a/crates/mbe/src/syntax_bridge.rs +++ b/crates/mbe/src/syntax_bridge.rs @@ -243,8 +243,7 @@ trait TokenConvertor { type Token: SrcToken; fn go(&mut self) -> tt::Subtree { - let mut subtree = tt::Subtree::default(); - subtree.delimiter = None; + let mut subtree = tt::Subtree { delimiter: None, ..Default::default() }; while self.peek().is_some() { self.collect_leaf(&mut subtree.token_trees); } @@ -506,7 +505,7 @@ impl TokenConvertor for Convertor { fn peek(&self) -> Option { if let Some((punct, mut offset)) = self.punct_offset.clone() { - offset = offset + TextSize::of('.'); + offset += TextSize::of('.'); if usize::from(offset) < punct.text().len() { return Some(SynToken::Punch(punct, offset)); } diff --git a/crates/mbe/src/tt_iter.rs b/crates/mbe/src/tt_iter.rs index 99a8d250b..bd54f2442 100644 --- a/crates/mbe/src/tt_iter.rs +++ b/crates/mbe/src/tt_iter.rs @@ -138,7 +138,7 @@ impl<'a> TtIter<'a> { } } self.inner = self.inner.as_slice()[res.len()..].iter(); - if res.len() == 0 && err.is_none() { + if res.is_empty() && err.is_none() { err = Some(err!("no tokens consumed")); } let res = match res.len() { -- cgit v1.2.3