cgp_macro_lib/
lib.rs

1/*!
2   This is an internal crate used by the `cgp-macro` crate. We implement the
3   proc macros for `cgp-component` as a library, so that it can be more easily tested.
4   The constructs are then re-exported as proc macros in the `cgp-macro` crate,
5   which is defined as a proc macro crate.
6*/
7
8extern crate alloc;
9
10pub(crate) mod blanket_trait;
11pub(crate) mod check_components;
12pub(crate) mod delegate_components;
13pub(crate) mod derive_builder;
14pub(crate) mod derive_component;
15pub(crate) mod derive_context;
16pub(crate) mod derive_extractor;
17pub(crate) mod derive_getter;
18pub(crate) mod derive_has_fields;
19pub(crate) mod derive_provider;
20mod entrypoints;
21pub(crate) mod field;
22pub(crate) mod for_each_replace;
23pub(crate) mod parse;
24pub(crate) mod preset;
25pub(crate) mod product;
26pub(crate) mod replace_self;
27pub(crate) mod symbol;
28pub(crate) mod type_component;
29
30pub use field::derive_has_field;
31pub use product::{make_product_expr, make_product_type, make_sum_type};
32pub use symbol::make_symbol;
33
34pub use crate::entrypoints::*;