皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Nim 1.6.14 发布

Nim 1.6.14 发布

Nim团队很高兴地宣布1.6.14版,这是我们对Nim 1.6的第七个(也是最大的)补丁发布。

1.6.14版是三个月努力工作的结果,它包含179个提交,比1.6.12版带来了许多普遍的改进。

这个版本包含了比一般补丁版本更多的提交,因为我们想给你最好的Nim v1体验,以防你不能立即切换到Nim v2,这将是我们下一个版本。

我们建议所有的用户升级并使用1.6.14版本。

安装Nim 1.6
新用户
看看你的操作系统的软件包管理器是否已经提供了1.6.14版本,或者按照这里的描述进行安装。

现有用户
如果你已经用choosenim安装了以前的Nim版本,获得Nim 1.6.14就很简单了:

$ choosenim update stable
或者,你也可以从我们的nightlies builds中下载Nim 1.6.14。

捐赠给Nim
我们鼓励你为Nim捐款。捐赠的钱将用于进一步改善Nim,为最重要的错误修复和功能创建赏金。

你可以通过以下方式进行捐赠:

开放集体
赏金会
BountySource
贝宝
Bitcoin: 1BXfuKM2uvoD6mbx4g5xM3eQhLzkCK77tJ
如果你是一家公司,我们也提供商业支持。

错误修正
这些报告的问题已被修复:

修复了 “编译异步相关代码时发生故障”(#21306)。
修正了 “模块名称相同时的模糊调用编译”(#21496)。
修复了 “旧式案例对象转换的无效和违约代码”(#20972)。
修正了 “调用system.card[T](x: set[T])时,如果T为int8或uint8,会使用不匹配的C数组大小”(#20997)。
修正了 “nimIdentNormalize(“”)返回”\0″” (#19067)
修正了 “创建对UncheckedArray不起作用,因为sizeof(UncheckedArray[T])==0” (#19000)
修正了 “getCustomPragmaVal错误:typedesc不允许作为元组字段”。(#19020)
修正了 “块表达式在某些情况下不工作”(#12274)。
修复了 “hasCustomPragma在nnkVarTy/nnkBracketExpr节点上失败”(#11923)。
修复了 “未引用的函数中的pragma会影响后续代码”(#19603)。
修正了 “引发pragma和通用错误/异常类型编译器崩溃”(#14318)。
修复了 “Nim生成的静态库中的多个定义”(#19830)。
修复了 “闭合迭代器过早结束”(#11042)。
修复了 “通过视图对象解除引用对象的崩溃”(#15897)。
修复了 “模板:崩溃的gensym’ed proc & method call” (#20002)
修正了 “效果系统和前向声明的问题”(#6559)。
修正了 “编译器标志 –hintAsError[XDeclaredButNotUsed]:on 导致fatal.nim中不可避免的错误,即goToBasedException从未被使用”(#20149)
修正了 “类型A* = A与B = (A,)导致编译器无限运行”(#18983)。
修正了 “编译器标志-clib在库名前加了不必要的路径组件”(#16937)。
修正了 “改进实例化缺乏类型的泛型时的错误信息”(#19882)。
修正了 “使用.lib文件的静态链接不工作”(#15955)。
修复了 “在尝试对空数组/序列进行迭代时的内部错误”(#19224)。
修正了 “如果在多个分支中,自定义pragma在变量obj的字段上被忽略”(#11415)。
修复了 “regression(1.04):在虚拟机中重置失败;虚拟机对var参数的处理不正确”(#12994)
修正了 “Nimc在模棱两可的proc cast上崩溃”(#18886)。
修复了 “泛型:类型不匹配 “SomeunsignedInt或Natural”(#7446)。
修复了 “将模板传递给期望有过程的泛型函数时崩溃”(#19700)。
修复了 “错误:如果’nimvm’与单分支’when’一起使用,则’nimvm’魔法的非法上下文”(#12517)。
修正了 “回归:在模板中使用when/elif/else和typedesc的编译错误” (#19426)
修复了 “非法捕获闭包迭代器,when应该是合法的”(#20152)。
修复了 “通用程序实例化和元组类型”(#4466)。
修复了 “模板内使用_(作为var占位符)导致XDeclaredButNotUsed提示”(#12094)。
修复了 “水槽导致虚拟机崩溃”(#19201)。
修复了 “无法实例化通用类型的静态值”(#6637)。
修复了 “在模板中使用_(作为var占位符)导致XDeclaredButNotUsed提示”(#12094)。
修正了 “regression(0.18.0 => devel): import times; echo low(Time) gives OverflowDefect” (#16264)
修正了 “隐式编译时将int转换为rangeed float导致编译器致命错误”(#20148)。
修正了 “uint64的范围显示有符号的上界”(#20272)。
修正了 “用不同的noSideEffect pragmas返回程序”(#14216)。
修复了 “从模板返回var元组时的无效代码”(#19149)。
修正了 “回归(0.19=>0.20以后):在importc过程中添加文档注释,使其在CT时默默地拒绝”(#17121)。
修复了 “Nim没有捕获错误的var {.global.}初始化”(#3505)。
修复了 “错误:内部错误:expr中的yield没有被降低”(#13583)。
修复了 “并行转换生成的片断中的无效类型”(#20958)。
修复了「当cast的格式不正确时的SIGSEGV」(#21027)。
修正了 “无效语法的极其混乱的错误信息:’+’:” (#20922)
修正「Nim在fixAbstractType中崩溃」(#16758)。
修复了 “危险的auto + generics的隐式类型转换”(#15836)。
修复了 “错误:内部错误:使用auto + arc时getTypeDescAux(tyFromExpr),与refc一起工作”(#20588)。
修复了”[]的静态参数导致模板内 typeof 的 deref 失败”(#11705)。
修复了 “内部错误:getTypeDescAux(tyEmpty)与@[]和模板中的t、f的关系”(#21109)。
修正了 “SIGSEGV可能由字面类型引起”(#16541)。
修复了”{.compileTime.}元组重构–在0.20上崩溃,在0.19上出现坏代码”(#11634)。
修正了 “当a为常数时,a中的for ai在VM中具有二次复杂性”(#16790)。
修正了 “错误:内部错误:无法将空seq类型映射到带有@[]的C类型”(#21360)。
修正了 “来自类型化宏的SIGSEGV”(#17864)。
修正了”[vm]循环中的Set/string/seq没有被正确初始化”(#10938)。
修正了 “泛型闭包的返回类型推断失效”(#16654)。
修正了 “使用std/sugar箭头语法而不指定类型时,可能会生成无效的C代码”(#20704)。
修正了 “调用参数为泛型之和的程序所需的类型数量不正确”(#6231)。
修复了 “使用泛型时编译器挂起”(#8295)。
修复了”[Codegen]函数调用未被发出”(#21272)。
修复了 “不小心使用system.any时编译器崩溃”。(#14255)
修复了 “std/json应解析空白对象”(#21638)。
修正了 “nim-1.4.0 的回归:expandMacros 编译错误” (#15691)
修正了 “unittest测试宏对1.6.12中裸露的except条款的警告”(#21731)。
修正了 “向空序列添加项目有时会崩溃”(#21780)。
修正了 “弧线中的空序列”(#11267)。
修复了 “不能使用空集合作为元组字段值(除非该集合是var/let值)” (#6213)
修正了 “当使用模板和与其中一个模板同名的proc时,类型推理的回归”(#20807)。
修正了 “ICE返回@[]为seq[int]”(#21377)。
修正了 “混乱的错误信息(如果使用UFCS,方法不能与字段同名)”(#3748)。
修正了 “试图调用未声明的例程:’case'”(#20283)。
修复了 “getImpl on types在分支时返回不正确的树”(#16639)。
修复了 “当我们添加文档注释时,noReturn pragma不起作用”(#9839)。
修复了 “在某个级别上,嵌套的泛型会导致类型检查器被卡住”(#20348)。
修正了 “当编译带有泛型的代码时,编译器无声地退出”。(#20416)
修正了”…<不能用于typedef”(#20248)。
修正了 “堆栈跟踪中缺少行号”(#14444)。
修正了 “当使用-d:threadsafe和-threads:on在线程上运行时,AsyncHttpServer的SIGSEGV”(#21734)
修复了 “模板中的Private字段不能正确解决”(#3770)。
修正了 “通过通用函数跨模块调用模板时,无法构建”(#20900)。
修复了”–mm:orc在模板中使用{.noSideEffect.}的无效free,将seq[byte]放入对象”(#22058)。
修正了”-d:lto在OSX上不起作用:参数’-fuse-ld=lld’中的链接器名称无效;+-d:lto的其他问题” (#15578)
修正了「[视图]回归:无法投递到借出的UncheckedArray」(#21674)。
修正了 “1.6.0版本中,当len为0且前面有块参数时,Varargs被破坏”。(#19015)
修复了 “在提升时,没有为所有字段调用析构器”(#21245)。
修正了”[nimscript]局部变量是一个隐藏的全局,带有strformat和条件分支,以及字符串原地追加&=”(#21704)。
修复了 “带有int64.high()值的枚举会使编译器崩溃”(#21280)。
修复了 “parseFloat Inf bug” (#21847)
修复了 “不正确的枚举字段访问会导致内部错误”(#21863)。
修复了 “使用var openArray参数的长度作为参数的默认值时的C编译器错误” (#10964)
修复了”[重复]通用铸造在VM中不工作”(#9423)。

完整的变化清单可在此查阅

转自 Version 1.6.14 released – Nim Blog (nim-lang.org)