aboutsummaryrefslogtreecommitdiff
path: root/mingling_macros/src/attr
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-07-28 20:42:08 +0800
committer魏曹先生 <1992414357@qq.com>2026-07-28 20:42:08 +0800
commit16999dd66dc6162184790ef5480d483d0fb81f4a (patch)
tree39b839a91ca426e197fb7f10ce8155de3fd217e7 /mingling_macros/src/attr
parent53033ae52c3b7a251fda2cadee46ae148cdb2846 (diff)
fix(dispatch_tree): emit re-export token stream directly
Diffstat (limited to 'mingling_macros/src/attr')
-rw-r--r--mingling_macros/src/attr/command.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/mingling_macros/src/attr/command.rs b/mingling_macros/src/attr/command.rs
index 383dfba..35c5c30 100644
--- a/mingling_macros/src/attr/command.rs
+++ b/mingling_macros/src/attr/command.rs
@@ -325,10 +325,13 @@ pub(crate) fn command_attr(attr: TokenStream, item: TokenStream) -> TokenStream
#[cfg(feature = "dispatch_tree")]
let snaked_node = just_fmt::snake_case!(names.node_lit.value());
#[cfg(feature = "dispatch_tree")]
- let dispatcher_internal = Ident::new(
- &format!("__internal_dispatcher_{}", snaked_node),
- fn_name.span(),
- );
+ let dispatcher_internal = {
+ let ident = Ident::new(
+ &format!("__internal_dispatcher_{}", snaked_node),
+ fn_name.span(),
+ );
+ quote! { #vis use super::#ident; }
+ };
#[cfg(not(feature = "dispatch_tree"))]
let dispatcher_internal = quote! {};
@@ -354,7 +357,7 @@ pub(crate) fn command_attr(attr: TokenStream, item: TokenStream) -> TokenStream
#vis use super::#cmd_name;
#vis use super::#entry_type;
#vis use super::#chain_internal;
- #vis use super::#dispatcher_internal;
+ #dispatcher_internal
}
};