模块函数表项的 Spec 一直为 None(只有全局表由 update_global_func_spec 填写),导致所有候选被判成无签名、报 no overload matches。改为在决议时用 _build_func_spec 按需构建并缓存。同时把调用节点 cl.func 传进 resolve_overload_call,no-match/歧义/实参未定型三种报错都带上源码位置,不再缺栈帧。
模块函数表项的 Spec 一直为 None(只有全局表由 update_global_func_spec 填写),导致所有候选被判成无签名、报 no overload matches。改为在决议时用 _build_func_spec 按需构建并缓存。同时把调用节点 cl.func 传进 resolve_overload_call,no-match/歧义/实参未定型三种报错都带上源码位置,不再缺栈帧。