惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
G
Google Developers Blog
A
About on SuperTechFans
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
博客园 - 聂微东
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
V
Visual Studio Blog
美团技术团队
The Cloudflare Blog
量子位
T
The Blog of Author Tim Ferriss
罗磊的独立博客
V
V2EX
S
SegmentFault 最新的问题
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MyScale Blog
MyScale Blog
博客园 - Franky

Nim Programming Language

Nim version 2.2.12 released Nim version 2.2.10 released NimConf 2026: Dates Announced, Registrations Open Nim version 2.2.8 released Nim version 2.2.6 released Nim versions 2.2.4 and 2.0.16 released Nim Community Survey 2024 Results Nim version 2.0.14 released Launching the 2024 Nim Community Survey Nim version 2.0.12 released NimConf 2024 - Nim Online Conference
Nim version 2.2.2 released
2025-02-05 · via Nim Programming Language

05 February 2025 The Nim Team

The Nim Team is happy to announce version 2.2.2, the first patch release for our stable release, Nim 2.2.

It comes four months after the 2.2.0 release and it contains 203 commits, bringing bugfixes and improvements.

If you’re still on Nim 1.6, take a look at the version 2.0 release article to see all the features you’re missing. If you’ve been using Nim 2.0, the version 2.2 release article shows the improvements available in Nim 2.2.

The Nim 2.2.2 changelog is available here.

Installing Nim 2.2.2

Check out if the package manager of your OS already ships version 2.2.2 or install it as described here.

If you have installed a previous version of Nim using choosenim, getting Nim 2.2.2 is as easy as:

$ choosenim update self
$ choosenim update stable

NOTE: Make sure that the version of choosenim you have installed is 0.8.5 or higher, otherwise visit choosenim’s repo and see there how to re-install it first, before updating Nim.

Alternatively, you can download Nim 2.2.2 from our nightlies builds.

Bugfixes

  • Fixed “compiler crash on len of varargs[untyped]” (#24258)
  • Fixed “Force compiler generate declaration of a type” (#19585)
  • Fixed “importc types alias doesn’t work with distinct” (#18896)
  • Fixed “Seg fault when adding deque element” (#24319)
  • Fixed “Nested iterator doesn’t work in proc” (#3824)
  • Fixed “internal error: not part of closure object type” (#19984)
  • Fixed “Size/Signedness issues with unordered enums” (#23952)
  • Fixed “Calling proc with nested ref/deref constructed object results in invalid generated code” (#18081)
  • Fixed “Error: VM problem: dest register is not set with const-bound proc” (#24359)
  • Fixed “C compiler error when default initializing an object field function when the default function is overloaded” (#23545)
  • Fixed “SIGSEGV with nim c -c and nim e on macro w(): untyped = result = genSym(nskType)” (#24379)
  • Fixed “build failed for lib/pure/selectors via mingw” (#24371)
  • Fixed “supportsCopyMem can fail from macro context with tuples” (#24378)
  • Fixed “Stop writing .ndi files” (#24395)
  • Fixed “Array field that has array-element type with copy-protector and default value set on a field will yield error” (#24369)
  • Fixed “Memory leak under Arc/Orc on inline iterators with nested seq.” (#24402)
  • Fixed “new-style concept fails to match” (#24451)
  • Fixed “No error checking on fclose” (#19600)
  • Fixed “let symbol created by template is reused in nimvm branch “ (#24472)
  • Fixed “redundant type cast causes errors with VCC” (#24476)
  • Fixed “asyncdispatch.drain returns before timeout even if there are pending operations” (#24506)
  • Fixed “ensureMove usage leading to memory leak for JsonNode !” (#24504)
  • Fixed “UB calling allocCStringArray([""]) with --mm:refc” (#22153)
  • Fixed “std/pegs with nim cpp --mm:orc --exceptions:goto creates invalid C++” (#22101)
  • Fixed “Word error” (#24538)
  • Fixed “Allow, but warn on, unknown hint/warning names” (#20908)
  • Fixed “building nimble 0.16.4 fails when running build_all.sh” (#24536)
  • Fixed “The compiler optimizes out unused constants marked with the exportc pragma” (#17681)
  • Fixed “Asyncdispatch leaks under –mm:arc” (#23212)
  • Fixed “Nim v2 emit / asm var param dereference inconsistency” (#23114)
  • Fixed “Incorrect/misleading error message with large array bounds” (#24599)
  • Fixed “static openArray backed by seq cannot be passed to another function” (#24630)
  • Fixed “size pragma on type used in type imported indirectly results in inconsistent C declarations of type size” (#24623)
  • Fixed “nimsuggest “outline” output does not list templates” (#21923)
  • Fixed “cpp compilation failure on Nim 2.2.x.” (#24658)

The complete list of changes is available here.