1#[cfg(any(feature = "derive", feature = "full"))]
16mod attribute;
17#[cfg(any(feature = "derive", feature = "full"))]
18mod generics;
19mod ident;
20#[cfg(feature = "full")]
21mod item;
22#[cfg(any(feature = "derive", feature = "full"))]
23mod meta;
24mod path;
25mod punctuated;
26#[cfg(test)]
27#[macro_use]
28mod test;
29
30pub mod ext {
35 mod basic {
37 pub use crate::ident::GetIdent;
38 pub use crate::punctuated::PunctuatedExt;
39 }
40 #[cfg(any(feature = "derive", feature = "full"))]
41 mod derive {
42 #[cfg(feature = "parsing")]
43 pub use crate::attribute::{AttributeExt, AttributeIteratorExt};
44 #[cfg(feature = "parsing")]
45 pub use crate::meta::MetaAttributeExt;
46 pub use crate::meta::{
47 MetaExt, MetaIteratorExt, NestedMetaIteratorExt, NestedMetaRefIteratorExt,
48 };
49 pub use crate::path::GetPath;
50 }
51 #[cfg(feature = "full")]
52 mod full {
53 pub use crate::item::{ItemAttrExt, ItemLike, ItemModExt};
54 }
55
56 pub use basic::*;
57 #[cfg(any(feature = "derive", feature = "full"))]
58 pub use derive::*;
59 #[cfg(feature = "full")]
60 pub use full::*;
61}
62
63pub mod types {
64 #[cfg(any(feature = "derive", feature = "full"))]
65 pub use crate::meta::{Meta1 as Meta, MetaList1 as MetaList, NestedMeta, PunctuatedNestedMeta};
66}