Fixed
This commit is contained in:
@@ -464,7 +464,11 @@ def release(args: ParsedArgs | t.CPtr):
|
||||
if args.__mbuddy__ is None:
|
||||
return
|
||||
if args._ht is not None:
|
||||
if args._ht.__slots__ is not None:
|
||||
args.__mbuddy__.free(args._ht.__slots__)
|
||||
args.__mbuddy__.free(t.CVoid(t.CUInt64T(args._ht), t.CPtr))
|
||||
# 用临时变量拆分链式属性访问,避免 args._ht.__slots__ 跨模块类型推断失败
|
||||
# 注意:类型注解必须用 hashtable.HashTable(带模块前缀),
|
||||
# 否则编译器无法解析 HashTable 类型,导致 ht.__slots__ 属性访问失败
|
||||
ht: hashtable.HashTable | t.CPtr = args._ht
|
||||
if ht.__slots__ is not None:
|
||||
args.__mbuddy__.free(ht.__slots__)
|
||||
args.__mbuddy__.free(t.CVoid(t.CUInt64T(ht), t.CPtr))
|
||||
args.__mbuddy__.free(t.CVoid(t.CUInt64T(args), t.CPtr))
|
||||
|
||||
Reference in New Issue
Block a user