aboutsummaryrefslogtreecommitdiff
path: root/mingling/src/setups/exit_code.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-06-24 12:01:38 +0800
committer魏曹先生 <1992414357@qq.com>2026-06-24 12:01:38 +0800
commit1d1baf75a3acb5eb32913a8bdad42bae42844aa2 (patch)
tree5dafbcbce48a5de3c61bba0c7d309e97dd80b1ce /mingling/src/setups/exit_code.rs
parentaddfbbf0b33a6251605990da73c2de5131766827 (diff)
Redesign hook system with structured info types and ProgramControls
Diffstat (limited to 'mingling/src/setups/exit_code.rs')
-rw-r--r--mingling/src/setups/exit_code.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/mingling/src/setups/exit_code.rs b/mingling/src/setups/exit_code.rs
index ed8204c..025ed8a 100644
--- a/mingling/src/setups/exit_code.rs
+++ b/mingling/src/setups/exit_code.rs
@@ -1,6 +1,11 @@
use std::marker::PhantomData;
-use mingling_core::{ProgramCollect, hook::ProgramHook, setup::ProgramSetup, this};
+use mingling_core::{
+ ProgramCollect,
+ hook::{ProgramControlUnit, ProgramHook},
+ setup::ProgramSetup,
+ this,
+};
use crate::res::ResExitCode;
@@ -32,9 +37,9 @@ where
program.with_resource(ResExitCode { exit_code: 0 });
// Insert hook to override exit code before program ends
- program.with_hook(ProgramHook::empty().on_finish(|| {
+ program.with_hook(ProgramHook::empty().on_finish(|_| {
let this = this::<C>().res_or_default::<ResExitCode>();
- this.exit_code
+ ProgramControlUnit::OverrideExitCode(this.exit_code)
}));
}
}