Repository navigation
v1.6.2 — 内置函数合同统一
本版本统一 36 个内置函数在树遍历、Python 转译和 JavaScript 转译后端中的行为,并为以后新增后端提供可复用的共享合同。
修复
- 内置函数参数数量不符时,直接调用、点调用和函数别名调用统一报告
CN0306。 - 容器、文字和数值内置不再泄漏 Python 或 JavaScript 的类型转换和宿主异常;非法类型统一报告
CN0303。 - 布尔值不再被
整数、小数、极值或排序当作数值;文字包含不再自动把非文字项目转换成文字。 - JavaScript 的
追加、插入、移除返回 CNplus空,不再显示宿主undefined。 - JavaScript 错误退出会保留错误前的程序输出;嵌套内置错误指向实际出错的内层调用。
询问与询问数值的输入结束、无效输入重试和CN0310行为纳入三后端共享验证。
变更
- 36 个内置函数的正常行为、错误类型、参数数量、调用形式、Unicode、边界值、返回值、求值顺序和子进程状态由声明式合同矩阵持续验证。
已知限制
- 内置函数的关键字参数目前属于未定义行为,程序不应依赖各后端现状;后续版本将单独设计统一合同。
测试:2044 个通过,5 个按环境或可选能力跳过。