Merge empty delim subtree in proc-macro

This commit is contained in:
Edwin Cheng 2020-04-18 19:29:04 +08:00
parent da18f11307
commit 72bba98828
2 changed files with 11 additions and 3 deletions

View file

@ -76,7 +76,16 @@ impl Extend<TokenTree> for TokenStream {
impl Extend<TokenStream> for TokenStream {
fn extend<I: IntoIterator<Item = TokenStream>>(&mut self, streams: I) {
for item in streams {
self.subtree.token_trees.extend(&mut item.into_iter())
for tkn in item {
match tkn {
tt::TokenTree::Subtree(subtree) if subtree.delimiter.is_none() => {
self.subtree.token_trees.extend(subtree.token_trees);
}
_ => {
self.subtree.token_trees.push(tkn);
}
}
}
}
}
}