summaryrefslogtreecommitdiff
path: root/mingling_macros/src/lib.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-04-05 22:33:19 +0800
committer魏曹先生 <1992414357@qq.com>2026-04-05 22:33:19 +0800
commitbdbaad9eff0eb3425dd0af8d3f479c7d8dcfd632 (patch)
treec645834ff10ca06a2f146a3486b49aeb250de771 /mingling_macros/src/lib.rs
parentd21d963a0f152d58a5997195b145cac4b8ccd018 (diff)
Add Groupped derive macro for automatic trait implementation
Diffstat (limited to 'mingling_macros/src/lib.rs')
-rw-r--r--mingling_macros/src/lib.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/mingling_macros/src/lib.rs b/mingling_macros/src/lib.rs
index 9513875..4341669 100644
--- a/mingling_macros/src/lib.rs
+++ b/mingling_macros/src/lib.rs
@@ -10,6 +10,7 @@ use syn::parse_macro_input;
mod chain;
mod dispatcher_chain;
+mod groupped;
mod node;
mod pack;
mod program_setup;
@@ -74,6 +75,17 @@ pub fn program_setup(attr: TokenStream, item: TokenStream) -> TokenStream {
program_setup::setup_attr(attr, item)
}
+#[proc_macro_derive(Groupped, attributes(group))]
+pub fn derive_groupped(input: TokenStream) -> TokenStream {
+ groupped::derive_groupped(input)
+}
+
+#[cfg(feature = "general_renderer")]
+#[proc_macro_derive(GrouppedSerialize, attributes(group))]
+pub fn derive_groupped_serialize(input: TokenStream) -> TokenStream {
+ groupped::derive_groupped_serialize(input)
+}
+
#[proc_macro]
pub fn gen_program(input: TokenStream) -> TokenStream {
let name = if input.is_empty() {