From 637c5507a18390fbe6087805f5204328cdc94bcf Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sun, 29 Mar 2026 17:10:48 +0800 Subject: Remove ProgramEnd and NoChainFound hint markers --- mingling/src/program/exec.rs | 6 ++++-- mingling/src/program/hint.rs | 22 ---------------------- 2 files changed, 4 insertions(+), 24 deletions(-) (limited to 'mingling/src/program') diff --git a/mingling/src/program/exec.rs b/mingling/src/program/exec.rs index ccdb17b..8277f69 100644 --- a/mingling/src/program/exec.rs +++ b/mingling/src/program/exec.rs @@ -3,7 +3,7 @@ use crate::{ AnyOutput, ChainProcess, Dispatcher, Program, ProgramCollect, RenderResult, error::{ChainProcessError, ProgramInternalExecuteError}, - hint::{DispatcherNotFound, NoChainFound, ProgramEnd, RendererNotFound}, + hint::{DispatcherNotFound, RendererNotFound}, }; pub mod error; @@ -59,7 +59,9 @@ pub async fn exec( } } }; - if current.is::() || current.is::() { + + // If the dispatcher cannot find the next chain, end execution + if C::has_chain(¤t) { break; } } diff --git a/mingling/src/program/hint.rs b/mingling/src/program/hint.rs index f8eb01e..1e93367 100644 --- a/mingling/src/program/hint.rs +++ b/mingling/src/program/hint.rs @@ -1,27 +1,5 @@ use crate::{AnyOutput, ChainProcess, Dispatcher, Node}; -/// Marker: Program End -/// -/// If a chain outputs ProgramEnd to the Chain, -/// the program will terminate directly. -/// -/// You can implement Renderer for ProgramEnd -/// to render relevant information after the program ends. -#[cfg_attr(feature = "serde_renderer", derive(serde::Serialize))] -pub struct ProgramEnd; - -/// Marker: Chain Not Found -/// -/// If a Chain or Dispatcher outputs NoChainFound to the Chain, -/// the program will terminate directly. -/// -/// You can implement Renderer for NoChainFound -/// to render relevant information when a Chain cannot be found. -#[cfg_attr(feature = "serde_renderer", derive(serde::Serialize))] -pub struct NoChainFound { - pub name: String, -} - /// Marker: Dispatcher Not Found /// /// If a Dispatcher outputs NoDispatcherFound to the Chain, -- cgit