From f25a3a1b9522fd9c454625c14fb09b26d0b7dad8 Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Sat, 15 Aug 2026 14:31:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20release=20=E6=9E=84=E5=BB=BA=E4=B8=8B=20?= =?UTF-8?q?debug=20=E6=96=AD=E8=A8=80=E8=B0=83=E7=94=A8=E7=82=B9=E8=A1=A5?= =?UTF-8?q?=20cfg=20=E5=AE=88=E5=8D=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit collect_strings_only 中 debug 兜底断言调用点无 cfg 守卫,release (无 debug_assertions)下方法不存在导致编译失败;与定义侧守卫对齐。 --- crates/oxide_vm/src/session_gc.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/oxide_vm/src/session_gc.rs b/crates/oxide_vm/src/session_gc.rs index 47b9157..fda41bd 100644 --- a/crates/oxide_vm/src/session_gc.rs +++ b/crates/oxide_vm/src/session_gc.rs @@ -596,6 +596,8 @@ impl SessionGc { self.mark(vm); // debug 兜底:存活对象的字符串边必须已登记,否则串清扫将释放活串。 + // cfg 守卫与定义一致:release 下断言体剥离,调用点同步剥离。 + #[cfg(debug_assertions)] self.debug_assert_marked_object_strings_live(vm); // 扣减字符串账目(保留对象账目),再补回存活串字节。