| // force-host | |
| // no-prefer-dynamic | |
| #![crate_type = "proc-macro"] | |
| extern crate proc_macro; | |
| use proc_macro::TokenStream; | |
| #[proc_macro_derive(AToB)] | |
| pub fn derive1(input: TokenStream) -> TokenStream { | |
| println!("input1: {:?}", input.to_string()); | |
| assert_eq!(input.to_string(), "struct A;"); | |
| "#[derive(BToC)] struct B;".parse().unwrap() | |
| } | |
| #[proc_macro_derive(BToC)] | |
| pub fn derive2(input: TokenStream) -> TokenStream { | |
| assert_eq!(input.to_string(), "struct B;"); | |
| "struct C;".parse().unwrap() | |
| } |