rust/tests/ui/proc-macro/auxiliary/make-macro.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

19 lines
497 B
Rust
Raw Normal View History

// force-host
#[macro_export]
macro_rules! make_it {
($name:ident) => {
#[proc_macro]
pub fn $name(input: TokenStream) -> TokenStream {
println!("Def site: {:?}", Span::def_site());
println!("Input: {:?}", input);
let new: TokenStream = input.into_iter().map(|mut t| {
t.set_span(Span::def_site());
t
}).collect();
println!("Respanned: {:?}", new);
new
}
};
}