]> git.lizzy.rs Git - rust.git/blob - src/test/ui/proc-macro/auxiliary/nonterminal-recollect-attr.rs
normalize stderr
[rust.git] / src / test / ui / proc-macro / auxiliary / nonterminal-recollect-attr.rs
1 // force-host
2 // no-prefer-dynamic
3
4 #![crate_type = "proc-macro"]
5 #![feature(proc_macro_quote)]
6
7 extern crate proc_macro;
8 use proc_macro::{TokenStream, quote};
9
10 #[proc_macro_attribute]
11 pub fn first_attr(_: TokenStream, input: TokenStream) -> TokenStream {
12     let recollected: TokenStream = input.into_iter().collect();
13     println!("First recollected: {:#?}", recollected);
14     quote! {
15         #[second_attr]
16         $recollected
17     }
18 }
19
20 #[proc_macro_attribute]
21 pub fn second_attr(_: TokenStream, input: TokenStream) -> TokenStream {
22     let recollected: TokenStream = input.into_iter().collect();
23     println!("Second recollected: {:#?}", recollected);
24     TokenStream::new()
25 }