Nim 0.20 sürümü, dilin durumunu kaydedecek ilk kararlı dalı oluşturmak için gereken birlikte çalışabilirliği bozan çeşitli değişiklikleri içeren ilk kararlı 1.0 sürümü için aday olarak değerlendirilebilir. Sürüm 1.0, dilin kararlı kısmında geriye dönük uyumluluğu korumayı garanti edecek kararlı, uzun vadeli bir destek sürümü olarak lanse ediliyor. Ayrı olarak derleyicide geriye dönük uyumluluğu bozabilecek yeni özelliklerin geliştirilebileceği deneysel bir mod da bulunacaktır.
Nim 0.20'de önerilen değişiklikler arasında şunlar yer almaktadır:
- "Değil" artık her zaman tekli bir operatördür, yani. "iddia(değil a)" gibi ifadelere artık izin verilmiyor ve yalnızca "iddia değil a"ya izin veriliyor;
- Derleme aşamasında tam sayıların ve gerçek sayıların dönüşümü için sıkı kontroller etkinleştirildi; "const b = uint16(-1)" ifadesi artık bir hatayla sonuçlanacaktır, çünkü -1 işaretsiz bir tamsayı türüne dönüştürülemez;
- Sabitler ve döngü değişkenleri için demetlerin açılması sağlanır.
Örneğin, artık 'const (d, e) = (7, "sekiz")" ve "for (x, y) in f" gibi atamaları kullanabilirsiniz; - Karmaların ve tabloların varsayılan başlatılması sağlandı. Örneğin, “var s: HashSet[int]” komutunu bildirdikten sonra, daha önce hataya yol açan “s.incl(5)” komutunu hemen çalıştırabilirsiniz;
- "Durum" operatörü ve sınırların dışındaki dizi dizini ile ilgili sorunlar için iyileştirilmiş hata bilgileri;
- Yineleme sırasında tablo uzunluğunun değiştirilmesi yasaktır.
Kaynak: opennet.ru