_spec_to_text 的逐层临时缓冲由 PermPool 改为 stdlib.malloc/free 并配对释放;InternSpec 的键缓冲在所有退出路径归还,去重命中时归还临时 TypeSpec 及独占的 BaseName(与驻留条目共享指针时不释放)。PermPool 永不 reset,此前每次类型解析泄漏一个键缓冲与临时实例,翻译大模块时耗尽 1 GiB(现场 includes/ast/parser.vp)。
_spec_to_text 的逐层临时缓冲由 PermPool 改为 stdlib.malloc/free 并配对释放;InternSpec 的键缓冲在所有退出路径归还,去重命中时归还临时 TypeSpec 及独占的 BaseName(与驻留条目共享指针时不释放)。PermPool 永不 reset,此前每次类型解析泄漏一个键缓冲与临时实例,翻译大模块时耗尽 1 GiB(现场 includes/ast/parser.vp)。