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

推荐订阅源

U
Unit 42
小众软件
小众软件
Y
Y Combinator Blog
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LangChain Blog
Martin Fowler
Martin Fowler
美团技术团队
B
Blog RSS Feed
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
博客园 - 司徒正美
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Blog of Author Tim Ferriss
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
Hugging Face - Blog
Hugging Face - Blog
D
Docker
G
Google Developers Blog

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.