diplomat_core/ast/
mod.rs

1/// As part of the macro expansion and code generation process, Diplomat
2/// generates a simplified version of the Rust AST that captures special
3/// types such as opaque structs, [`Box`], and [`Result`] with utilities
4/// for handling such types.
5pub mod attrs;
6pub(crate) use attrs::AttrInheritContext;
7pub use attrs::Attrs;
8
9mod methods;
10pub use methods::{BorrowedParams, Method, Param, SelfParam};
11
12mod modules;
13pub use modules::{File, Module};
14
15mod structs;
16pub use structs::{OpaqueStruct, Struct};
17
18mod enums;
19pub use enums::Enum;
20
21mod types;
22pub use types::{
23    CustomType, LifetimeOrigin, ModSymbol, Mutability, PathType, PrimitiveType, StringEncoding,
24    TypeName,
25};
26
27pub(crate) mod lifetimes;
28pub use lifetimes::{Lifetime, LifetimeEnv, LifetimeTransitivity, NamedLifetime};
29
30mod paths;
31pub use paths::Path;
32
33mod idents;
34pub use idents::Ident;
35
36mod docs;
37pub use docs::{DocType, Docs, DocsUrlGenerator, MarkdownStyle, RustLink, RustLinkDisplay};