Skip to content

v1.6.2 — 内置函数合同统一

Choose a tag to compare

@cnplus-agent cnplus-agent released this 13 Sep 13:29
· 3 commits to main since this release

本版本统一 36 个内置函数在树遍历、Python 转译和 JavaScript 转译后端中的行为,并为以后新增后端提供可复用的共享合同。

修复

  • 内置函数参数数量不符时,直接调用、点调用和函数别名调用统一报告 CN0306。
  • 容器、文字和数值内置不再泄漏 Python 或 JavaScript 的类型转换和宿主异常;非法类型统一报告 CN0303。
  • 布尔值不再被 整数、小数、极值或排序当作数值;文字 包含 不再自动把非文字项目转换成文字。
  • JavaScript 的 追加、插入、移除 返回 CNplus 空,不再显示宿主 undefined。
  • JavaScript 错误退出会保留错误前的程序输出;嵌套内置错误指向实际出错的内层调用。
  • 询问 与 询问数值 的输入结束、无效输入重试和 CN0310 行为纳入三后端共享验证。

变更

  • 36 个内置函数的正常行为、错误类型、参数数量、调用形式、Unicode、边界值、返回值、求值顺序和子进程状态由声明式合同矩阵持续验证。

已知限制

  • 内置函数的关键字参数目前属于未定义行为,程序不应依赖各后端现状;后续版本将单独设计统一合同。

测试:2044 个通过,5 个按环境或可选能力跳过。