aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-05-08 15:49:07 +0800
committer魏曹先生 <1992414357@qq.com>2026-05-08 15:49:07 +0800
commitb47bdc15fdb78ac5e78b2e04aca0190c84aa78f4 (patch)
treebcc56f3418f4ecc51714a6cd46de015132cc1f93
parente875a80d52e5e44f107366cd4825936c44c824bb (diff)
Add error type aliases to ProgramCollect trait
-rw-r--r--mingling_core/src/program.rs2
-rw-r--r--mingling_macros/src/lib.rs2
2 files changed, 4 insertions, 0 deletions
diff --git a/mingling_core/src/program.rs b/mingling_core/src/program.rs
index febb5db..c7544f5 100644
--- a/mingling_core/src/program.rs
+++ b/mingling_core/src/program.rs
@@ -294,6 +294,8 @@ where
pub trait ProgramCollect {
/// Enum type representing internal IDs for the program
type Enum: Display;
+ type DispatcherNotFound: Groupped<Self::Enum>;
+ type RendererNotFound: Groupped<Self::Enum>;
/// Use a prefix tree to quickly match arguments and dispatch to an Entry
#[cfg(feature = "dispatch_tree")]
diff --git a/mingling_macros/src/lib.rs b/mingling_macros/src/lib.rs
index 2624f60..23f9ad9 100644
--- a/mingling_macros/src/lib.rs
+++ b/mingling_macros/src/lib.rs
@@ -1243,6 +1243,8 @@ pub fn program_final_gen(input: TokenStream) -> TokenStream {
impl ::mingling::ProgramCollect for #name {
type Enum = #name;
+ type DispatcherNotFound = DispatcherNotFound;
+ type RendererNotFound = RendererNotFound;
fn build_renderer_not_found(member_id: Self::Enum) -> ::mingling::AnyOutput<Self::Enum> {
::mingling::AnyOutput::new(RendererNotFound::new(member_id.to_string()))
}