// compiler/tests/pipeline.rs 加载模块并调用 main,检查函数值传参及局部名优先于全局声明。 // A parameter can shadow a module function, and functions are ordinary values. // main 把此全局函数作为普通值传入 invoke;实际调用时返回收到的参数。 function echo(value: String): String { // 恒等返回,不改变用于确认调用链的文本。 return value } // main 调用;参数 echo 遮蔽同名模块函数,value 保存待转发的字符串。 function invoke(echo: Callable, value: String): String { // 从局部参数 echo 复制函数值,而非再次查找模块的同名全局。 let chosen = echo // 经局部 chosen 间接调用函数,把 value 作为实参并返回调用结果。 return chosen(value) } // 宿主/测试入口,先取得全局 echo 函数值,再传给 invoke 的同名参数。 function main(): String { // invoke 内部用局部参数解析 echo,最终应原样返回这段文本。 return invoke(echo, "局部名称优先") }