Vyšla nová verzia systémového programovacieho jazyka Nim. Obsahuje čiastočnú nekompatibilitu s verziou 1.0, napríklad kvôli prísnejšiemu prevodu typov. Na tento účel je tu prepínač —useVersion:1.0.
Hlavným novým rysom je nový garbage collector, aktivovaný voľbou —gc:arc. Autor jazyka Andreas Rumpf plánuje napísať podrobný článok o výhodách ARC, zatiaľ čo odporúča oboznámiť sa s jeho prezentáciou na FOSDEM, kde sú prezentované výsledky benchmarkov.
- Kompilátor teraz podporuje možnosť —asm pre pohodlnejšie štúdium generovaného assemblerového kódu.
- Možnosť align pragma môže byť použitá pre premenné a polia objektu, podobne ako alignas v C/C++.
- =sink operátor je teraz voliteľný. Kompilátor môže teraz použiť kombináciu =destroy a copyMem na efektívne presúvanie objektov.
- Prevody na unsigned integers nie sú kontrolované v runtime. Podrobnosti sú v https://github.com/nim-lang/RFCs/issues/175
- Nová syntax pre lvalue: var b {.byaddr.} = expr, pridaná prostredníctvom import std/decls
- Kompilátor podporuje nový prepínač —panics:on, ktorý premieňa runtime chyby ako IndexError alebo OverflowError na fatálne chyby, ktoré nie sú zachytiteľné cez try. To môže zlepšiť efektívnosť runtime a veľkosť programu.
- Generovaný JS kód používa iba medzery namiesto zmesi medzier a tabulátorov.
- Do kompilátora bola pridaná podpora .localPassc pragma, ktorá umožňuje spracovať špeciálne možnosti C(+) b backendu pre C(+) súbor generovaný z aktuálneho modulu Nim.
- Nimpretty teraz neprijíma negatívny argument na nastavenie odsadení, pretože to spôsobovalo poškodenie súborov.
- Pridali sa nové makrá (collect, dup, capture), ktoré sa importujú cez import sugar.
Okrem toho bolo pridané množstvo zmien v štandardnej knižnici a množstvo opráv chýb.
Zdroj: linux.org.ru
