From ad1c3b5bd605942c85e4488b0483a0f50dc60942 Mon Sep 17 00:00:00 2001 From: Edwin Cheng Date: Mon, 22 Apr 2019 17:37:27 +0800 Subject: Use map, sum in Subtree::coount instead of fold --- crates/ra_tt/src/lib.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'crates/ra_tt') diff --git a/crates/ra_tt/src/lib.rs b/crates/ra_tt/src/lib.rs index 9cc646140..62c5ac52a 100644 --- a/crates/ra_tt/src/lib.rs +++ b/crates/ra_tt/src/lib.rs @@ -153,11 +153,15 @@ impl fmt::Display for Punct { impl Subtree { /// Count the number of tokens recursively pub fn count(&self) -> usize { - self.token_trees.iter().fold(self.token_trees.len(), |acc, c| { - acc + match c { + let children_count = self + .token_trees + .iter() + .map(|c| match c { TokenTree::Subtree(c) => c.count(), _ => 0, - } - }) + }) + .sum::(); + + self.token_trees.len() + children_count } } -- cgit v1.2.3