1 #![recursion_limit = "256"] 2 #![cfg_attr(feature = "diagnostics", feature(proc_macro_diagnostic))] 3 4 #[cfg(feature = "diagnostics")] 5 extern crate proc_macro; 6 7 #[macro_use] 8 mod macros_private; 9 #[macro_use] 10 mod macros_public; 11 12 pub mod ast; 13 pub(crate) mod codegen; 14 pub mod derive; 15 pub mod error; 16 mod from_attributes; 17 mod from_derive_input; 18 mod from_field; 19 mod from_generic_param; 20 mod from_generics; 21 mod from_meta; 22 mod from_type_param; 23 mod from_variant; 24 pub(crate) mod options; 25 pub mod usage; 26 pub mod util; 27 28 pub use self::error::{Error, Result}; 29 pub use self::from_attributes::FromAttributes; 30 pub use self::from_derive_input::FromDeriveInput; 31 pub use self::from_field::FromField; 32 pub use self::from_generic_param::FromGenericParam; 33 pub use self::from_generics::FromGenerics; 34 pub use self::from_meta::FromMeta; 35 pub use self::from_type_param::FromTypeParam; 36 pub use self::from_variant::FromVariant; 37 38 // Re-exports 39 #[doc(hidden)] 40 pub use quote::ToTokens; 41 #[doc(hidden)] 42 pub use syn; 43