From 2fa1da991945b2c2d3b36241492f7e8280869fd0 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Sun, 12 Aug 2018 12:45:48 -0700 Subject: TokenStream::extend --- src/libproc_macro/lib.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/libproc_macro') diff --git a/src/libproc_macro/lib.rs b/src/libproc_macro/lib.rs index bf6e4a3aaa4..21c80e14a37 100644 --- a/src/libproc_macro/lib.rs +++ b/src/libproc_macro/lib.rs @@ -179,6 +179,20 @@ impl iter::FromIterator for TokenStream { } } +#[stable(feature = "token_stream_extend", since = "1.30.0")] +impl Extend for TokenStream { + fn extend>(&mut self, trees: I) { + self.extend(trees.into_iter().map(TokenStream::from)); + } +} + +#[stable(feature = "token_stream_extend", since = "1.30.0")] +impl Extend for TokenStream { + fn extend>(&mut self, streams: I) { + self.0.extend(streams.into_iter().map(|stream| stream.0)); + } +} + /// Public implementation details for the `TokenStream` type, such as iterators. #[stable(feature = "proc_macro_lib2", since = "1.29.0")] pub mod token_stream { -- cgit 1.4.1-3-g733a5