about summary refs log tree commit diff
path: root/tests/ui/hygiene/auxiliary/opaque-hygiene.rs
blob: 08dc592925aa5af2770bb9e0b3d81e03d30cdcd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#![feature(proc_macro_quote)]

extern crate proc_macro;
use proc_macro::{TokenStream, quote};

#[proc_macro]
pub fn make_it(input: TokenStream) -> TokenStream {
    // `quote!` applies def-site hygiene
    quote! {
        trait Foo {
            fn my_fn(&self) {}
        }

        impl<T> Foo for T {}
        "a".my_fn();
    }
}