diff --git a/App/lib/core/StubMerger.vp b/App/lib/core/StubMerger.vp index dd7fa11..2f68b75 100644 --- a/App/lib/core/StubMerger.vp +++ b/App/lib/core/StubMerger.vp @@ -1758,6 +1758,13 @@ def _BuildReachableSha1Set(mb: memhub.MemBuddy | t.CPtr, source_dir: str, tr.CurrentPackage = HandlesImports.compute_package_from_relpath(mb, fname) HandlesStruct.reset_visible_structs(mb, 0) tr.translate(tree) + # 容器使用检测:App 源文件用 list/dict(裸名注解/构造/[] + # /{} 字面量)时注入 _list/_dict 依赖(与 Phase1 对 includes + # 层的 _ScanTreeForContainers 对齐)。否则 dict/list 类未被 + # 纳入可达集合 → 不编译 → 跨模块方法(如 dict.set_int)返回 + # 类型函数/text.ll/vpi 均未命中 → _fail_method_ret_ty 误杀 + # (DictTest 8/13 重现根因)。 + tr._inject_auto_container_visibility(mb, tree) # 获取 _imported_modules if tr._imported_modules is not None: im_len: t.CSizeT = string.strlen(tr._imported_modules)