aboutsummaryrefslogtreecommitdiff
path: root/mingling_macros/src/help.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-06-23 01:12:01 +0800
committer魏曹先生 <1992414357@qq.com>2026-06-23 01:12:01 +0800
commit8498a8c4826a10c8c04ad1b9c45d83fb0759121b (patch)
tree532792a6ce9d57306238a2f3489d222908afa8f5 /mingling_macros/src/help.rs
parent514357b74e66c3eb626ca51a818c816a82ffc85f (diff)
Add entry-str dedup and registry cleanup in final gen
Diffstat (limited to 'mingling_macros/src/help.rs')
-rw-r--r--mingling_macros/src/help.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/mingling_macros/src/help.rs b/mingling_macros/src/help.rs
index e1095e6..6d427b9 100644
--- a/mingling_macros/src/help.rs
+++ b/mingling_macros/src/help.rs
@@ -110,9 +110,13 @@ pub fn help_attr(item: TokenStream) -> TokenStream {
let variant_name = entry_type.path.segments.last().unwrap().ident.to_string();
{
let helps = get_global_set(&crate::HELP_REQUESTS).lock().unwrap();
- if let Err(err) =
- crate::check_duplicate_variant(&helps, &variant_name, "help", entry_type.span())
- {
+ if let Err(err) = crate::check_duplicate_variant(
+ &helps,
+ &entry_str,
+ &variant_name,
+ "help",
+ entry_type.span(),
+ ) {
return err.into();
}
}
@@ -208,7 +212,7 @@ pub fn register_help(input: TokenStream) -> TokenStream {
// Check for duplicate variant (different struct, same type)
let variant_name = entry_type.path.segments.last().unwrap().ident.to_string();
if let Err(err) =
- crate::check_duplicate_variant(&helps, &variant_name, "help", entry_type.span())
+ crate::check_duplicate_variant(&helps, &entry_str, &variant_name, "help", entry_type.span())
{
return err.into();
}