From 73b53a9dd1b4d4a09c8dbe52799ccdaedea892b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Sat, 3 Oct 2026 14:58:21 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E4=BC=9A=E5=91=98=E8=AE=A1=E4=BB=B7):=20ce?= =?UTF-8?q?il=5Fdiv=20=E9=9B=B6=E5=88=86=E6=AF=8D=E6=94=B9=E4=B8=BA=20debu?= =?UTF-8?q?g=5Fassert=20=E6=9A=B4=E9=9C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - module-runtime/membership/upgrade.rs:ceil_div 增加 debug_assert!(denominator != 0),零分母在测试里立即失败,不再被静默算成 0 元 Co-authored-by: Junie --- server-rs/crates/module-runtime/src/membership/upgrade.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server-rs/crates/module-runtime/src/membership/upgrade.rs b/server-rs/crates/module-runtime/src/membership/upgrade.rs index 317b410d1..29e9f18b8 100644 --- a/server-rs/crates/module-runtime/src/membership/upgrade.rs +++ b/server-rs/crates/module-runtime/src/membership/upgrade.rs @@ -200,7 +200,11 @@ pub fn quote_runtime_profile_membership_upgrade( } /// 向上取整的整数除法(金额取整到分)。 +/// +/// 分母是 `MONTHS_PER_YEAR * REMAINING_RATIO_PPM` 这类编译期常量,恒不为 0; +/// 零分母属程序员错误,`debug_assert` 让它在测试里立刻暴露,而不是被静默算成 0 元。 fn ceil_div(numerator: u128, denominator: u128) -> u64 { + debug_assert!(denominator != 0, "ceil_div 的分母不能为 0"); if denominator == 0 { return 0; }