En ny version af Nim-systemprogrammeringssproget er blevet frigivet. Den har delvis inkompatibilitet med version 1.0, for eksempel på grund af strengere typekonvertering. Men i dette tilfælde er der et flag -useVersion:1.0.
Den vigtigste innovation er en ny skraldeopsamler, aktiveret af -gc:arc-indstillingen. Forfatteren af sproget, Andreas Rumpf, skal skrive en detaljeret artikel om fordelene ved ARC, men indtil videre inviterer han dig til at læse med sin optræden på FOSDEM, som viser benchmarkresultaterne.
- Compileren understøtter nu --asm muligheden for mere bekvem undersøgelse af den producerede assembly kode.
- Align pragmaen kan bruges på objektvariabler og felter, dette svarer til alignas i C/C++.
- =sink-operatøren er nu valgfri. Compileren kan nu bruge en kombination af =destroy og copyMem til at flytte objekter rundt effektivt.
- Konverteringer til usignerede heltal kontrolleres ikke under kørsel. Detaljer i https://github.com/nim-lang/RFCs/issues/175
- Ny syntaks for lvalue: var b {.byaddr.} = expr, forbundet via import std/decls
- Compileren understøtter en ny switch -panics:on, som forvandler runtime fejl såsom IndexError eller OverflowError til fatale fejl, der ikke kan fanges via try. Dette kan forbedre køretidseffektiviteten og programstørrelsen.
- Den genererede JS-kode bruger kun mellemrum i stedet for en blanding af mellemrum og tabulatorer.
- Compileren har tilføjet understøttelse af .localPassc-pragmaen, som kan bruges til at håndtere specielle C(++)-backend-muligheder for en C(++)-fil, der er genereret fra det aktuelle Nim-modul.
- Nimpretty accepterer ikke længere et negativt argument for at indstille indrykning, da dette var at bryde filer.
- Nye makroer er blevet tilføjet (saml, dup, fange), forbundet via importsukker.
Derudover er der tilføjet mange ændringer til standardbiblioteket og mange fejlrettelser.
Kilde: linux.org.ru