4 #![crate_type = "proc-macro"]
6 extern crate proc_macro;
8 pub mod a { //~ `proc-macro` crate types currently cannot export any items
9 use proc_macro::TokenStream;
11 #[proc_macro_derive(B)]
12 pub fn bar(a: TokenStream) -> TokenStream {
13 //~^ ERROR: must currently reside in the root of the crate
18 #[proc_macro_derive(B)]
19 fn bar(a: proc_macro::TokenStream) -> proc_macro::TokenStream {
20 //~^ ERROR: functions tagged with `#[proc_macro_derive]` must be `pub`