]> git.lizzy.rs Git - rust.git/blobdiff - src/libproc_macro/lib.rs
Auto merge of #53304 - dtolnay:extend, r=dtolnay
[rust.git] / src / libproc_macro / lib.rs
index fec90008c6701ec2d074091d68c8302cf58ca8fd..66afe36e7cb9ad7ff4f5a0ccb8e9194cc347be41 100644 (file)
@@ -180,6 +180,20 @@ fn from_iter<I: IntoIterator<Item = TokenStream>>(streams: I) -> Self {
     }
 }
 
+#[stable(feature = "token_stream_extend", since = "1.30.0")]
+impl Extend<TokenTree> for TokenStream {
+    fn extend<I: IntoIterator<Item = TokenTree>>(&mut self, trees: I) {
+        self.extend(trees.into_iter().map(TokenStream::from));
+    }
+}
+
+#[stable(feature = "token_stream_extend", since = "1.30.0")]
+impl Extend<TokenStream> for TokenStream {
+    fn extend<I: IntoIterator<Item = TokenStream>>(&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 {