原实现排除 Ptr/str/bytes/| 后默认返回 1(标量),把未知类名(如泛型 上下文污染产生的 llvmlite.Value)误判为标量 → IsPtrElement=0 → elem_ptr[0] 走通用路径生成 Value*,list[str].get 声明 i8* 与 ret Value* 不匹配(8fbba llc 报错)。改白名单:已知整数/浮点/字符标量 才返回 1,未知类名按 8 字节指针槽(list 元素本就是 8 字节槽)。
原实现排除 Ptr/str/bytes/| 后默认返回 1(标量),把未知类名(如泛型 上下文污染产生的 llvmlite.Value)误判为标量 → IsPtrElement=0 → elem_ptr[0] 走通用路径生成 Value*,list[str].get 声明 i8* 与 ret Value* 不匹配(8fbba llc 报错)。改白名单:已知整数/浮点/字符标量 才返回 1,未知类名按 8 字节指针槽(list 元素本就是 8 字节槽)。