Megjelent a Nim programozási nyelv új verziója. Részleges inkompatibilitás van az 1.0-ás verzióval, például a szigorúbb típuskonverzió miatt. De erre van egy kapcsoló —useVersion:1.0.
A legfontosabb újdonság egy új szemétgyűjtő, amelyet az —gc:arc opcióval lehet engedélyezni. A nyelv szerzője, Andreas Rumpf, részletes cikket tervez írni az ARC előnyeiről, addig is ajánlja, hogy nézze meg a FOSDEM-en tartott előadását., ahol a benchmark eredmények bemutatásra kerülnek.
- A fordító mostantól támogatja az —asm opciót az előállított assembler kód kényelmesebb tanulmányozásához.
- Az align pragma használható változók és objektumok mezői számára, hasonlít az alignas-ra a C/C++-ban.
- =sink operátor mostantól opcionális. A fordító most képes a =destroy és copyMem kombinációját használni az objektumok hatékony áthelyezésére.
- A signed to unsigned integer konverziók nem kerülnek ellenőrzésre futási időben. Részletek itt: https://github.com/nim-lang/RFCs/issues/175
- Új szintaxis az lvalue-hoz: var b {.byaddr.} = expr, amelyet az import std/decls révén lehet elérni.
- A fordító támogatja az új —panics:on kulcsot, amely a futási időben felmerülő hibákat, mint a IndexError vagy OverflowError, fatális hibákká alakítja, amelyeket nem lehet elkapni try használatával. Ez javíthatja a futási idő hatékonyságát és a program méretét.
- A generált JS-kód csak szóközöket használ a szóközök és tabulátorok keveréke helyett.
- A fordítóba beépítették a .localPassc pragmát, amely lehetővé teszi a C(++) backend különleges opcióinak kezelését a jelenlegi Nim modulból generált C(++) fájlhoz.
- A Nimpretty mostantól nem fogad el negatív argumentumot a behúzások beállításához, mivel ez tönkretette a fájlokat.
- Új makrók (collect, dup, capture) kerültek hozzáadásra, amelyeket az import sugar révén lehet használni.
Emellett számos változás történt a standard könyvtárban és sok hiba javítva lett.
Forrás: linux.org.ru
