A liberazione Nim 0.20 pò esse cunsiderata candidata per a prima liberazione stabile 1.0, incorporendu parechji cambiamenti di interoperabilità necessarii per furmà u primu ramu stabile chì cummette u statu di a lingua. A versione 1.0 hè presentata cum'è una liberazione di supportu stabile è à longu andà chì serà garantitu per mantene a cumpatibilità inversa in a parte stabilizzata di a lingua. Separatamente, u compilatore avarà ancu un modu sperimentale dispunibule in quale saranu sviluppati novi funzioni chì ponu rompe a cumpatibilità retroattiva.
Trà i cambiamenti pruposti in Nim 0.20 sò:
- "Not" hè avà sempre un operatore unariu, i.e. espressioni cum'è "assert (micca a)" ùn sò micca permessi è solu "assert not a" hè permessu;
- Abilitatu cuntrolli stretti per a cunversione di numeri interi è numeri reali in u stadiu di compilazione, i.e. l'espressione "const b = uint16(-1)" avà risultatu in un errore, postu chì -1 ùn pò micca esse cunvertitu in un tipu interu senza signu;
- Unpacking of tuples for constants and loop variables hè furnitu.
Per esempiu, avà pudete aduprà assignazioni cum'è "const (d, e) = (7, "ottu")" è "per (x, y) in f"; - Furnitu l'inizializazione predeterminata di hash è tabelle. Per esempiu, dopu à dichjarà "var s: HashSet[int]" pudete immediatamente eseguisce "s.incl (5)", chì prima hà purtatu à un errore;
- Infurmazione d'errore mejorata per i prublemi ligati à l'operatore "casu" è l'indice di array fora di i limiti;
- Hè pruibitu di cambià a durata di a tavola durante l'iterazione.
Source: opennet.ru