Nim-järjestelmän ohjelmointikielestä on julkaistu uusi versio. Se on osittain yhteensopimaton version 1.0 kanssa esimerkiksi vahvemman tyyppimuunnoksen vuoksi. Mutta tässä tapauksessa on lippu -useVersion:1.0.
Pääinnovaatio on uusi roskakeräin, joka otetaan käyttöön --gc:arc-vaihtoehdolla. Kielen kirjoittaja Andreas Rumpf aikoo kirjoittaa yksityiskohtaisen artikkelin ARC:n eduista, mutta toistaiseksi hän ehdottaa lukemista hänen FOSDEM-puheensa kanssa, joka näyttää vertailutulokset.
- Kääntäjä tukee nyt vaihtoehtoa --asm, mikä helpottaa tuotetun assembler-koodin tutkimista.
- Kohdistuspragmaa voidaan käyttää objektimuuttujissa ja -kentissä, samalla tavalla kuin C/C++:n aligneja.
- =Sink-operaattori on nyt valinnainen. Kääntäjä voi nyt käyttää yhdistelmää =destroy ja copyMem siirtääkseen kohteita tehokkaasti.
- Muunnoksia etumerkittömiksi kokonaisluvuiksi ei tarkisteta suorituksen aikana. Yksityiskohdat sisään https://github.com/nim-lang/RFCs/issues/175
- Uusi syntaksi arvolle lvalue: var b {.byaddr.} = expr, mukana Import std/decls
- Kääntäjä tukee uutta --panics:on -vaihtoehtoa, joka muuttaa ajonaikaiset virheet, kuten IndexError tai OverflowError, kohtalokkaiksi virheiksi, joita ei voida saada kiinni yrittämällä. Tämä voi parantaa suoritusaikaa ja ohjelman kokoa.
- Luodussa JS-koodissa käytetään vain välilyöntejä välilyöntien ja sarkainten sekoituksen sijaan.
- Kääntäjään lisätty tuki .localPassc-pragmalle, jolla voidaan käsitellä erityisiä C(++)-taustavaihtoehtoja C(++)-tiedostolle, joka on luotu nykyisestä Nim-moduulista.
- Nimpretty ei enää hyväksy negatiivista argumenttia sisennyksen puolesta, koska se rikkoisi tiedostoja.
- Lisätty uusia makroja (kerätä, kopioida, kaapata), jotka on yhdistetty tuontisokerin kautta.
Lisäksi standardikirjastoon on lisätty monia muutoksia ja monia virheenkorjauksia.
Lähde: linux.org.ru