Nim жүйелік бағдарламалау тілінің жаңа нұсқасы шығарылды. Оның 1.0 нұсқасымен ішінара үйлесімсіздігі бар, мысалы, түрлендірудің күштірек болуына байланысты. Бірақ бұл жағдайда -useVersion:1.0 жалауы бар.
Негізгі жаңалық --gc:arc опциясы арқылы қосылған жаңа қоқыс жинағыш. Тілдің авторы Андреас Рампф ARC артықшылықтары туралы егжей-тегжейлі мақала жазмақшы, бірақ әзірге ол оқуды ұсынады FOSDEM баяндамасымен, ол эталондық нәтижелерді көрсетеді.
- Компилятор енді жасалған ассемблер кодын тексеруді жеңілдету үшін --asm опциясын қолдайды.
- Туралау прагмасын C/C++ тіліндегі туралауларға ұқсас нысан айнымалылары мен өрістерінде қолдануға болады.
- =sink операторы енді міндетті емес. Компилятор енді нысандарды тиімді жылжыту үшін =destroy және copyMem тіркесімін пайдалана алады.
- Белгісіз бүтін сандарға түрлендірулер орындалу уақытында тексерілмейді. Толығырақ https://github.com/nim-lang/RFCs/issues/175
- Lvalue үшін жаңа синтаксис: var b {.byaddr.} = expr, импорт std/decls арқылы қосылған
- Компилятор IndexError немесе OverflowError сияқты орындалу уақытының қателерін әрекет кезінде анықталмайтын қауіпті қателерге айналдыратын жаңа --panics:on опциясын қолдайды. Бұл орындалу уақытының тиімділігін және бағдарлама өлшемін жақсарта алады.
- Жасалған JS коды бос орындар мен қойындылардан тұратын бос орындарды ғана пайдаланады.
- Компиляторға .localPassc прагмасына қолдау қосылды, оның көмегімен ағымдағы Nim модулінен жасалған C(++) файлы үшін арнайы C(++) сервер параметрлерін өңдеуге болады.
- Nimpretty енді шегініс үшін теріс аргумент қабылдамайды, себебі бұл файлдарды бұзады.
- Импорттық қант арқылы қосылған жаңа макростар (жинау, көшіру, түсіру) қосылды.
Сонымен қатар, стандартты кітапханаға көптеген өзгерістер енгізілді және көптеген қателер түзетілді.
Ақпарат көзі: linux.org.ru