Nim 1.2.0 nga pagpagawas

Usa ka bag-ong bersyon sa Nim system programming language ang gipagawas. Kini adunay partial incompatibility sa bersyon 1.0, pananglitan tungod sa mas estrikto nga matang sa pagkakabig. Apan sa kini nga kaso adunay usa ka bandila -useVersion: 1.0.

Ang panguna nga kabag-ohan mao ang usa ka bag-ong tigkolekta sa basura, nga gipagana sa -gc:arc nga kapilian. Ang tagsulat sa pinulongan, si Andreas Rumpf, magsulat sa usa ka detalyado nga artikulo mahitungod sa mga bentaha sa ARC, apan sa pagkakaron gidapit ka niya sa pagbasa uban sa iyang performance sa FOSDEM, nga nagpakita sa mga resulta sa benchmark.

  • Ang compiler karon nagsuporta sa --asm nga kapilian alang sa mas sayon ​​nga pagsusi sa gihimo nga assembly code.
  • Ang align pragma mahimong gamiton sa object variables ug fields, kini susama sa alignas sa C/C++.
  • Ang =sink operator kay opsyonal na. Ang compiler makagamit na karon ug kombinasyon sa =destroy ug copyMem aron maayo ang paglihok sa mga butang.
  • Ang mga pagkakabig ngadto sa wala mapirmahan nga mga integer wala masusi sa runtime. Mga detalye sa https://github.com/nim-lang/RFCs/issues/175
  • Bag-ong syntax para sa lvalue: var b {.byaddr.} = expr, konektado pinaagi sa import std/decls
  • Gisuportahan sa compiler ang usa ka bag-ong switch -panics:on, nga naghimo sa mga sayup sa runtime sama sa IndexError o OverflowError nga mahimong makamatay nga mga sayup nga dili makuha pinaagi sa pagsulay. Kini makapauswag sa runtime efficiency ug gidak-on sa programa.
  • Ang namugna nga JS code naggamit lamang ug mga luna imbes nga usa ka mishmash sa mga luna ug mga tab.
  • Ang compiler adunay dugang suporta alang sa .localPassc pragma, nga mahimong gamiton sa pagdumala sa espesyal nga C(++) backend nga mga kapilian alang sa usa ka C(++) file nga namugna gikan sa kasamtangan nga Nim module.
  • Dili na dawaton ni Nimpretty ang negatibo nga argumento alang sa pagbutang sa indentation, tungod kay kini nagguba sa mga file.
  • Ang mga bag-ong macro gidugang (pagkolekta, pag-dup, pagdakop), konektado pinaagi sa import nga asukal.

Dugang pa, daghang mga pagbag-o ang gidugang sa standard nga librarya ug daghang mga pag-ayo sa bug.

Source: linux.org.ru

Idugang sa usa ka comment