De Nim 0.20-release kin beskôge wurde as in kandidaat foar de earste stabile 1.0-release, mei ferskate ynteroperabiliteitsbrekkende wizigingen dy't nedich binne om de earste stabile tûke te foarmjen dy't de steat fan 'e taal ynsette sil. Ferzje 1.0 wurdt touted as in stabile, lange-termyn stipe release dat sil wurde garandearre te behâlden efterút kompatibiliteit yn it stabilisearre diel fan 'e taal. Apart sil de kompilator ek in eksperimintele modus beskikber hawwe wêryn nije funksjes sille wurde ûntwikkele dy't de efterútkompatibiliteit kinne brekke.
Under de wizigingen foarsteld yn Nim 0.20 binne:
- "Net" is no altyd in unêre operator, d.w.s. útdrukkingen lykas "assert(not a)" binne no net tastien en allinich "assert not a" is tastien;
- Strikte kontrôles ynskeakele foar konverzje fan heule getallen en echte nûmers yn 'e kompilaasjestadium, d.w.s. de útdrukking "const b = uint16(-1)" sil no resultearje yn in flater, om't -1 kin net konvertearre wurde nei in net-ûndertekene hiel getal type;
- Unpacking fan tuples foar konstanten en loop fariabelen wurdt foarsjoen.
No kinne jo bygelyks opdrachten brûke lykas 'const (d, e) = (7, "acht")" en "foar (x, y) yn f"; - Foarsjoen fan standert inisjalisaasje fan hashes en tabellen. Bygelyks, neidat jo ferklearje "var s: HashSet [int]" kinne jo fuortendaliks útfiere "s.incl (5)", dy't earder late ta in flater;
- Ferbettere flaterynformaasje foar problemen yn ferbân mei de operator "case" en array-yndeks bûten grinzen;
- It feroarjen fan de tabellingte by iteraasje is ferbean.
Boarne: opennet.ru