TermiNexus
0e80019033
fix(subscript): 泛型 T|t.CPtr 指针槽变量优先走 i8** load,修 8fbba list[str].get 返回类型不匹配
TPC 编译 TPV 时 _list.vp 泛型方法体 elem_ptr: T|t.CPtr = t.CPtr(...):
T 未解析时 var_struct_class[elem_ptr] 误注册 llvmlite.Value →
_HandleSubscriptLlvm 的 elem_class 推断为 Value → cast Value* → 与
get 声明 i8* 不匹配(llc 报错)。修复:
1. _is_struct_ptr_union 放宽——泛型参数 Name(单字母大写)也判定指针槽
联合(标量 T 退化为 Ptr(i32) 不命中 i8 分支,安全)
2. _HandleSubscriptLlvm 的 var_ptr_element 分支提前到 elem_class 推断
之前——T|t.CPtr 指针槽变量优先 i8** load i8*(8 字节)
2026-08-18 10:12:06 +08:00
..
2026-07-30 16:33:56 +08:00
2026-08-18 10:12:06 +08:00
2026-08-17 09:36:38 +08:00
2026-08-18 07:27:02 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 22:20:28 +08:00
2026-07-18 19:25:40 +08:00
2026-08-18 06:59:10 +08:00
2026-08-18 07:37:30 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00