Nim 0.20 väljalaset võib pidada esimese stabiilse versiooni 1.0 kandidaadiks, mis sisaldab mitmeid koostalitlusvõimet kahjustavaid muudatusi, mis on vajalikud esimese stabiilse haru moodustamiseks, mis määrab keele oleku. Versiooni 1.0 reklaamitakse kui stabiilset ja pikaajalist tugiväljaannet, mis garanteerib tagasiühilduvuse keele stabiliseeritud osas. Eraldi on kompilaatoril saadaval ka eksperimentaalne režiim, kus arendatakse uusi funktsioone, mis võivad tagasiühilduvust rikkuda.
Nim 0.20 pakutud muudatuste hulgas on järgmised:
- "Mitte" on nüüd alati unaarne operaator, st. väljendid nagu "assert(not a)" pole nüüd lubatud ja lubatud on ainult "assert not a";
- Lubatud täis- ja reaalarvude teisendamise ranged kontrollid koostamise etapis, st. avaldis "const b = uint16(-1)" toob nüüd kaasa vea, kuna -1 ei saa teisendada märgita täisarvu tüübiks;
- Pakutakse konstantide ja tsüklimuutujate jaoks korteeži lahtipakkimist.
Näiteks saate nüüd kasutada selliseid ülesandeid nagu 'const (d, e) = (7, "kaheksa")" ja "for (x, y) in f"; - Pakub räside ja tabelite vaikimisi lähtestamist. Näiteks pärast "var s: HashSet[int]" deklareerimist saate kohe käivitada "s.incl(5)", mis varem põhjustas vea;
- Täiustatud veateave „juhtumi“ operaatori ja massiiviindeksiga seotud probleemide jaoks väljaspool piire;
- Tabeli pikkuse muutmine iteratsiooni ajal on keelatud.
Allikas: opennet.ru