diff --git a/_Type.md b/_Type.md index b76adf2..dd72fa4 100644 --- a/_Type.md +++ b/_Type.md @@ -2,7 +2,7 @@ > 记录日期:2026-08-28 > 范围:TransPyV\App\lib\core\Gen\Type\* + GenTypes.vp + StructGenMixin.vp + Class\ClassGenEnum.vp + Expr\ExprGenCdef.vp -> 状态:问题 2/4/8 已完成,问题 1 部分完成,其余待办 +> 状态:问题 2/4/7/8 已完成,问题 1 部分完成,其余待办 ## 问题总览(按影响排序) @@ -64,7 +64,8 @@ 跨模块一侧写 `list[ast.AST | t.CPtr]`、另一侧写 `list[AST | t.CPtr]` → 两个特化名 → undefined symbol。 靠 `_norm_type_arg_name` SHA1 规范化修复。 -> **状态:待办** ⏳(SHA1 规范化已缓解,跨模块仍可能不一致) +> **状态:已完成** ✅ +> - ✅ `_norm_type_arg_name` 增强(TypeGenResolve.vp L233-368):顶层 `|` 分割改为括号感知(`list[A|B]` 不误分);新增嵌套泛型实参递归(`list[list[AST]]` → `list[list[{sha1}.AST]]`,内部按顶层 `,` 分割逐个 SHA1 规范化)——所有 module 表示统一为 Hash Namespace(`{SHA1}.Class`) ### 8. 窄化截断无诊断 宽→窄直接 `trunc` 静默丢位(ExprGenBase.vp L423),`buf[idx] = 0x1FF` 类写入静默截断。