fix(match): default case body 的 dbody 类型推断退化 list[int] 截断指针
dbody = dmc.children(普通赋值)触发 TPC 对跨模块属性访问 ast.MatchCase.children 的 RHS 类型推断,失败时静默退化为 list[int], dbody.get() 被编译成 list[int].get(返回 i32),AST 节点指针被截断为 0x0000c1120bd0 → translate_stmt 读 vtable 崩溃(EnumTest RENUM match ASan)。 与 case body 循环(body_list 用带注解 AnnAssign,类型稳定正确)对照, default 块改用带注解的 AnnAssign 中转(dbody2)保持 list[ast.AST | t.CPtr] 类型。三处同型修复(_handle_renum_match / _handle_sequence_match / _handle_tuple_match)。
This commit is contained in:
1 parent
426bff7daa
commit
f0a70748d7
1 file changed
+1307
-1304
+1307
-1304
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user