Discovered by @alercah [here](https://github.com/rust-lang/rust/issues/35896#issuecomment-403823351) it's not clear what to do with this crate right now: ```rust #![feature(proc_macro)] extern crate proc_macro; #[macro_use] extern crate quote; use proc_macro::TokenStream; #[proc_macro_derive(Hello, attributes(Bye))] pub fn Hello(_: TokenStream) -> TokenStream { (quote! { fn hello() { println!("hello") }}).into() } #[proc_macro_attribute] pub fn Bye(_: TokenStream, _: TokenStream) -> TokenStream { TokenStream::new() } ``` along with: ```rust #[Bye] #[derive(Hello)] struct T() ``` cc @petrochenkov