Թողարկվել է Nim համակարգի ծրագրավորման լեզվի նոր տարբերակը։ Այն ունի մասնակի անհամատեղելիություն 1.0 տարբերակի հետ, օրինակ՝ ավելի խիստ տեսակի փոխակերպման պատճառով: Բայց այս դեպքում կա դրոշ -useVersion:1.0:
Հիմնական նորամուծությունը նոր աղբահավաք է, որը միացված է -gc:arc տարբերակով: Լեզվի հեղինակ Անդրեաս Ռամպֆը պատրաստվում է մանրամասն հոդված գրել ARC-ի առավելությունների մասին, սակայն առայժմ հրավիրում է կարդալ. FOSDEM-ում իր ելույթով, որը ցույց է տալիս հենանիշի արդյունքները:
- Կոմպիլյատորն այժմ աջակցում է --asm տարբերակը արտադրված հավաքման կոդի ավելի հարմար փորձաքննության համար:
- Align pragma-ն կարող է օգտագործվել օբյեկտի փոփոխականների և դաշտերի վրա, սա նման է C/C++-ի հավասարեցմանը:
- =sink օպերատորն այժմ ընտրովի է: Կազմողն այժմ կարող է օգտագործել =destroy-ի և copyMem-ի համակցությունը՝ օբյեկտներն արդյունավետ տեղափոխելու համար:
- Փոխակերպումները անստորագիր ամբողջ թվերի չեն ստուգվում գործարկման ժամանակ: Մանրամասները՝ մեջ https://github.com/nim-lang/RFCs/issues/175
- Նոր շարահյուսություն lvalue-ի համար՝ var b {.byaddr.} = expr, միացված է ներմուծման std/decls-ի միջոցով
- Կազմողն աջակցում է նոր switch-panics:on, որը գործարկման ժամանակի սխալները, ինչպիսիք են IndexError-ը կամ OverflowError-ը, վերածում է ճակատագրական սխալների, որոնք հնարավոր չէ հայտնաբերել փորձի միջոցով: Սա կարող է բարելավել գործարկման ժամանակի արդյունավետությունը և ծրագրի չափը:
- Ստեղծված JS կոդը օգտագործում է միայն բացատներ՝ բացատների և ներդիրների խառնաշփոթի փոխարեն:
- Կազմողն ավելացրել է աջակցություն .localPassc պրագմայի համար, որը կարող է օգտագործվել ընթացիկ Nim մոդուլից ստեղծվող C(++) ֆայլի հատուկ C(++) backend տարբերակները մշակելու համար:
- Nimpretty-ն այլևս չի ընդունում նահանջ սահմանելու բացասական փաստարկը, քանի որ սա ֆայլերի խախտում էր:
- Ավելացվել են նոր մակրոներ (հավաքել, հանել, գրավել)՝ միացված շաքարավազի ներմուծման միջոցով։
Բացի այդ, բազմաթիվ փոփոխություններ են ավելացվել ստանդարտ գրադարանում և բազմաթիվ սխալների շտկումներ:
Source: linux.org.ru