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