Nim 1.6.2 版本已发布,修复若干 bug
Nim 1.6.2 版本已发布,这是针对 Nim 1.6 的第一个补丁版本,两个月努力的结果包含 41 次提交,修复了超过 15 个报告的问题,比 1.6.0 带来了一些总体改进,建议所有用户升级并使用 1.6.2 版。
Bug 修复
- 修复了“在 Linux 内核版本 < 3.17 上,Nim 的编译在编译 std/sysrand 时失败”问题。(#19052)
- 修复了“如果
--gc:arc或--gc:orc给定,当 proc 返回带有lent或var类型的全局变量时,编译器以 IndexDefect 终止”(#18971) - 修复了“使用 C++ 后端初始化 RootObj 对象的错误”(#18410)
- 修复了“arc/orc 下损害的堆栈跟踪”(#19078)
- 修复了“尽管无法证明不存在捕获的引用,但仍能愉快地编译”(#19013)
- 修复了“PragmaExpr 错误地添加到枚举类型”(#19011)
- 修复了“RVO 不适用于具有大数组的对象”(#14470)
- 修复了“定义泛型 int 类型时,后端 gcc 编译错误”(#19051)
- 修复了“当长度为 0 或之前出现过块参数时, 1.6.0 中的可变参数会被破坏。” (#19015)
- 修复了“VM 用别名替换声明的类型”(#19198)
- 修复了“回归:无效果的内部模板会被声明为副作用”(#19159)
- 修复了“闭包迭代器循环中的变量未正确分配”(#19193)
- 修复了“未导出的转换器通过导入传播并影响代码”(#19213)
- 修复了“ [arc] 包含跟踪引用的 PTR 对象的操作段错误”(#19205)
- 修复了“与 .lib 文件的静态链接不起作用”(#15955)
此版本还包括了如下改进:
- 允许将静态变量转换为 openArray ( PR #19047 )
- 不要中断字段初始化消息字符串的插值(PR #19085)
- 修复了一个效果推断错误(PR #19100)
- 修复 rst2tex/doc2tex 中的 nimindexterm ( PR # 19106 )
- 从 Windows + GCC 配置中删除启用的 tlsEmulation ( PR #19119 )
- 修复了 –gc:orc 下内置的 newSeq 的 .raises 推理(PR #19158)
- 修复未声明
SYS_getrandom的 emscripten ( PR #19144 ) - 在 Windows 上正确合并文件的大小字段 ( PR #19141 )
- 修复 VM 中的 marshal 错误(PR #19161)
- 允许
HSlice以不同类型的常量为界(PR #19219) - 修复了一个可能发生的 “javascript:” 协议漏洞(PR #19134)
- 让 Nim 支持带有锁文件支持的 Nimble 0.14 ( PR #19236 )
- nimRawSetjmp:支持 Windows(PR #19197)
- 不要在 uri.hostname 中读取 \0 ( PR #19148 )
- json:限制递归深度(PR #19252)
更新公告:https://nim-lang.org/blog/2021/12/17/version-162-released.html