aboutsummaryrefslogtreecommitdiff
path: root/crates/mbe/src/expander/matcher.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-03-17 08:12:34 +0000
committerGitHub <[email protected]>2021-03-17 08:12:34 +0000
commitf7fbea509f1e5f840e715c912ee38aa997d1bfbc (patch)
tree2b4932678fc83624c278ca93cdf0f1d3a28346c2 /crates/mbe/src/expander/matcher.rs
parent6fcb5d772f16af0d1f62dad55fbde75072fb9e89 (diff)
parentff5f90d8ae2da8e4856d5c78f55e5cd02b178325 (diff)
Merge #8063
8063: couple clippy::complexity fixes r=matklad a=matthiaskrgr avoid redundant `.into()` calls to convert T into identical T (`let x: String = String::from("hello").into();`) use `if let Some(x)` instead of `.is_some()` + `.unwrap()` don't clone Copy types remove redundant wrapped ?s: `Some(Some(3)?)` can just be `Some(3)` use `.map(|x| y)` instead of `and_then(|x| Some(y)` on `Option`s Co-authored-by: Matthias Krüger <[email protected]>
Diffstat (limited to 'crates/mbe/src/expander/matcher.rs')
-rw-r--r--crates/mbe/src/expander/matcher.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/crates/mbe/src/expander/matcher.rs b/crates/mbe/src/expander/matcher.rs
index 2c69e8968..b6782b4ba 100644
--- a/crates/mbe/src/expander/matcher.rs
+++ b/crates/mbe/src/expander/matcher.rs
@@ -540,7 +540,7 @@ fn match_loop(pattern: &MetaTemplate, src: &tt::Subtree) -> Match {
540 let mut src = TtIter::new(src); 540 let mut src = TtIter::new(src);
541 let mut stack: SmallVec<[TtIter; 1]> = SmallVec::new(); 541 let mut stack: SmallVec<[TtIter; 1]> = SmallVec::new();
542 let mut res = Match::default(); 542 let mut res = Match::default();
543 let mut error_reover_item = None; 543 let mut error_recover_item = None;
544 544
545 let mut bindings_builder = BindingsBuilder::default(); 545 let mut bindings_builder = BindingsBuilder::default();
546 546
@@ -579,9 +579,9 @@ fn match_loop(pattern: &MetaTemplate, src: &tt::Subtree) -> Match {
579 stdx::always!(cur_items.is_empty()); 579 stdx::always!(cur_items.is_empty());
580 580
581 if error_items.len() > 0 { 581 if error_items.len() > 0 {
582 error_reover_item = error_items.pop().map(|it| it.bindings); 582 error_recover_item = error_items.pop().map(|it| it.bindings);
583 } else if eof_items.len() > 0 { 583 } else if eof_items.len() > 0 {
584 error_reover_item = Some(eof_items[0].bindings.clone()); 584 error_recover_item = Some(eof_items[0].bindings.clone());
585 } 585 }
586 586
587 // We need to do some post processing after the `match_loop_inner`. 587 // We need to do some post processing after the `match_loop_inner`.
@@ -594,8 +594,8 @@ fn match_loop(pattern: &MetaTemplate, src: &tt::Subtree) -> Match {
594 res.bindings = bindings_builder.build(&eof_items[0].bindings); 594 res.bindings = bindings_builder.build(&eof_items[0].bindings);
595 } else { 595 } else {
596 // Error recovery 596 // Error recovery
597 if error_reover_item.is_some() { 597 if let Some(item) = error_recover_item {
598 res.bindings = bindings_builder.build(&error_reover_item.unwrap()); 598 res.bindings = bindings_builder.build(&item);
599 } 599 }
600 res.add_err(ExpandError::UnexpectedToken); 600 res.add_err(ExpandError::UnexpectedToken);
601 } 601 }
@@ -618,7 +618,7 @@ fn match_loop(pattern: &MetaTemplate, src: &tt::Subtree) -> Match {
618 } 618 }
619 res.add_err(err!("leftover tokens")); 619 res.add_err(err!("leftover tokens"));
620 620
621 if let Some(error_reover_item) = error_reover_item { 621 if let Some(error_reover_item) = error_recover_item {
622 res.bindings = bindings_builder.build(&error_reover_item); 622 res.bindings = bindings_builder.build(&error_reover_item);
623 } 623 }
624 return res; 624 return res;
@@ -722,7 +722,7 @@ fn match_meta_var(kind: &str, input: &mut TtIter) -> ExpandResult<Option<Fragmen
722 input 722 input
723 .expect_literal() 723 .expect_literal()
724 .map(|literal| { 724 .map(|literal| {
725 let lit = tt::Leaf::from(literal.clone()); 725 let lit = literal.clone();
726 match neg { 726 match neg {
727 None => Some(lit.into()), 727 None => Some(lit.into()),
728 Some(neg) => Some(tt::TokenTree::Subtree(tt::Subtree { 728 Some(neg) => Some(tt::TokenTree::Subtree(tt::Subtree {