| //@ force-host |
| //@ no-prefer-dynamic |
| //@ compile-flags: --crate-type proc-macro |
| |
| #![crate_type="proc-macro"] |
| |
| extern crate proc_macro; |
| |
| use proc_macro::TokenStream; |
| |
| #[proc_macro_derive(DeriveA)] |
| pub fn a_derive(input: TokenStream) -> TokenStream { |
| input |
| } |
| |
| #[proc_macro_derive(DeriveB)] |
| pub fn b_derive(input: TokenStream) -> TokenStream { |
| input |
| } |
| |
| #[proc_macro_derive(DeriveTrait)] |
| pub fn trait_derive(input: TokenStream) -> TokenStream { |
| input |
| } |
| |
| #[proc_macro_attribute] |
| pub fn attr_a(input: TokenStream, _args: TokenStream) -> TokenStream { |
| input |
| } |
| |
| #[proc_macro_attribute] |
| pub fn attr_b(input: TokenStream, _args: TokenStream) -> TokenStream { |
| input |
| } |