Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/mbe/src/tt_iter.rs')
| -rw-r--r-- | crates/mbe/src/tt_iter.rs | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/crates/mbe/src/tt_iter.rs b/crates/mbe/src/tt_iter.rs index b38243caee..c05a2ca150 100644 --- a/crates/mbe/src/tt_iter.rs +++ b/crates/mbe/src/tt_iter.rs @@ -170,11 +170,38 @@ impl<'a> TtIter<'a> { let mut res = vec![]; if cursor.is_root() { - while curr != cursor { - if let Some(token) = curr.token_tree() { - res.push(token.cloned()); + if float_splits.is_empty() { + while curr != cursor { + if let Some(token) = curr.token_tree() { + res.push(token.cloned()); + } + curr = curr.bump(); + } + } else { + // let mut float_splits = float_splits.into_iter().peekable(); + // while let Some(tt) = curr.token_tree() { + // let mut tt = tt.cloned(); + // let mut tt_mut_ref = &mut tt; + // if let Some(fs) = float_splits.peek() { + // loop { + // curr = curr.bump_subtree(); + // if curr == *fs { + // float_splits.next(); + // } + // if curr.is_root() { + // break; + // } + // } + // } + // res.push(tt); + // } + + while curr != cursor { + if let Some(token) = curr.token_tree() { + res.push(token.cloned()); + } + curr = curr.bump(); } - curr = curr.bump(); } } self.inner = self.inner.as_slice()[res.len()..].iter(); |