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