Izdanje Nim 0.20 se može posmatrati kao kandidat za izdavanje za prvo stabilno izdanje 1.0, uključujući nekoliko promena koje su neophodne da bi se formirala prva stabilna grana koja upisuje stanje jezika. Verzija 1.0 se reklamira kao stabilno, dugoročno izdanje podrške koje će zajamčeno održavati kompatibilnost unatrag u stabilizovanom dijelu jezika. Odvojeno, eksperimentalni način rada će također biti dostupan u kompajleru, u kojem će se razvijati nove karakteristike koje mogu narušiti kompatibilnost unatrag.
Od izmjena predloženih u Nimu 0.20, možemo istaknuti:
- "Ne" je sada uvijek unarni operator, tj. izrazi poput "assert(not a)" su sada nevažeći i dozvoljeno je samo "assert not a";
- Omogućene su čvrste provjere za pretvaranje cijelih i realnih brojeva u vrijeme kompajliranja, tj. izraz "const b = uint16(-1)" će sada rezultirati greškom, jer se -1 ne može pretvoriti u neoznačeni cijeli broj;
- Omogućeno je raspakivanje tuple-ova za konstante i varijable petlje.
Na primjer, zadaci poput 'const (d, e) = (7, "osam")' i "za (x, y) u f" sada se mogu koristiti; - Obezbeđena podrazumevana inicijalizacija heševa i tabela. Na primjer, nakon deklariranja "var s: HashSet[int]" možete odmah izvršiti "s.incl(5)", što je dovodilo do greške;
- Poboljšan sadržaj informacija o greškama za probleme vezane za operator "case" i indeks niza izvan granica;
- Zabranjeno je menjati dužinu tabele tokom iteracije.
izvor: opennet.ru