1 //! Check that we correctly lint procedural macros. 2 #![crate_type = "proc-macro"] 3 4 extern crate proc_macro; 5 6 use proc_macro::TokenStream; 7 8 #[allow(dead_code)] f()9fn f() { 10 let _x = 3.14; 11 } 12 13 #[proc_macro] mybangmacro(t: TokenStream) -> TokenStream14pub fn mybangmacro(t: TokenStream) -> TokenStream { 15 t 16 } 17 18 #[proc_macro_derive(MyDerivedTrait)] myderive(t: TokenStream) -> TokenStream19pub fn myderive(t: TokenStream) -> TokenStream { 20 t 21 } 22 23 #[proc_macro_attribute] myattribute(t: TokenStream, a: TokenStream) -> TokenStream24pub fn myattribute(t: TokenStream, a: TokenStream) -> TokenStream { 25 t 26 } 27