From 1baff31ed17c088ad13c6ba38c24a3f4594d80fb Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Thu, 6 Nov 2025 13:28:53 -0800 Subject: [PATCH] Add new TokenStream Extend impls --- src/lib.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index c1571d3..a8b9da3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -304,6 +304,31 @@ impl Extend for TokenStream { } } +impl Extend for TokenStream { + fn extend>(&mut self, tokens: I) { + self.inner.extend(tokens.into_iter().map(TokenTree::Group)); + } +} + +impl Extend for TokenStream { + fn extend>(&mut self, tokens: I) { + self.inner.extend(tokens.into_iter().map(TokenTree::Ident)); + } +} + +impl Extend for TokenStream { + fn extend>(&mut self, tokens: I) { + self.inner.extend(tokens.into_iter().map(TokenTree::Punct)); + } +} + +impl Extend for TokenStream { + fn extend>(&mut self, tokens: I) { + self.inner + .extend(tokens.into_iter().map(TokenTree::Literal)); + } +} + /// Collects a number of token trees into a single stream. impl FromIterator for TokenStream { fn from_iter>(tokens: I) -> Self {