Идоракунии хотираи автоматии Rust таҳиякунандаро аз коркарди нишондиҳандаҳо озод мекунад ва аз мушкилоте, ки дар натиҷаи коркарди хотираи сатҳи паст ба вуҷуд меоянд, ба монанди дастрасии пас аз хотираи хотира, истинодҳои нул нишондодҳо, изофаи буферӣ ва монанди инҳо муҳофизат мекунад. Менеҷери бастаҳо барои паҳн кардани китобхонаҳо, таъмини ҷамъбаст ва идоракунии вобастагӣ аз ҷониби лоиҳа таҳия карда мешавад.
асосӣ
- Дар compiler rustc
таъмин карда шудааст дастгирии оптимизатсия дар асоси натиҷаҳои профилсозии код (PGO, Optimization Profile-Guided),
ба шумо имкон медиҳад, ки дар асоси таҳлили омори ҳангоми иҷрои барнома ҷамъшуда коди оптималӣ тавлид кунед. Барои тавлиди профил, парчами "-C profile-generate" пешбинӣ шудааст ва барои истифодаи профил ҳангоми васлкунӣ - "-C profile-use" (аввал, барнома бо парчами аввал ҷамъ карда мешавад, дар гирду атроф давр мезанад ва пас аз эҷод кардан. профил, он бо байраки дуюм аз нав васл карда мешавад); - Ҳангоми иҷро кардани фармони "боркашӣ", ки барои зуд санҷиши барномаҳои консолӣ истифода бурдан қулай аст, қобилияти ба таври худкор интихоб кардани файли иҷрошаванда барои иҷро илова карда шудааст, агар дар баста якчанд файлҳои иҷрошаванда мавҷуд бошанд. Файли пешфарз, ки бояд иҷро шавад, тавассути директиваи пешфарз-иҷрошуда дар қисмати [packet] бо параметрҳои баста муайян карда мешавад, ки ба шумо имкон медиҳад, ки ҳар дафъа ҳангоми иҷро кардани "cargo run" аз нишон додани номи файл тавассути парчами "-bin" худдорӣ намоед;
- Фармони "фурӯшандаи бор", ки қаблан ҳамчун
бастаи алоҳида . Фармон ба шумо имкон медиҳад, ки корро бо нусхаи локалии вобастагӣ ташкил кунед - пас аз иҷрои "фурӯшандаи бор", ҳама рамзҳои сарчашмаҳои вобастагии лоиҳа аз crates.io ба феҳристи маҳаллӣ зеркашӣ карда мешаванд, ки баъдан онро барои кор бидуни дастрасӣ ба қуттиҳо истифода бурдан мумкин аст. io (пас аз иҷрои фармон, маслиҳат оид ба тағир додани конфигуратсия барои истифодаи директория барои сохтмон нишон дода мешавад). Ин хусусият аллакай барои ташкили интиқоли компилятори rustc бо бастабандии ҳама вобастагӣ дар як бойгонӣ бо нашр истифода мешавад; - Ҳоло имконпазир аст, ки истинодҳоро ба имконоти рақамӣ бо истифода аз тахаллуси навъи (масалан, дар бадани функсияи “fn increment_or_zero(x: ByteOption) шумо метавонед “ByteOption::None => 0” таъин кунед), намуди конструксияҳои ҳисобкуниро (‹ MyType‹.. ››::option => N) ё худ дастрасӣ (дар блокҳои c &self шумо метавонед "Self::Quarter => 25" -ро муайян кунед);
- Қобилияти эҷоди константаҳои беном дар макросҳо илова карда шуд. Ба ҷои муайян кардани номи элемент дар "const" шумо акнун метавонед аломати "_"-ро барои интихоби динамикӣ истифода баред, идентификатори такрорнашавандаро пешгирӣ кунед ва ҳангоми занг задан ба макрос аз ихтилофи номҳо канорагирӣ кунед;
- Имконияти истифодаи атрибути "#[repr(align(N))" бо рақамҳо бо истифода аз синтаксиси шабеҳ ба таърифи сохтори AlignN‹T› бо ҳамоҳангсозӣ ва сипас бо истифода аз AlignN‹MyEnum› илова карда шуд;
- Қисми нави API ба категорияи устувор кӯчонида шуд, аз ҷумла BufReader::buffer, BufWriter::buffer, ва
Ҳуҷайра ::from_mut,
Ҳуҷайра::ҳамчун буридаи_ҳуҷайраҳо,
DoubleEndedIterator ::nth_back,
Варианти::xor
{i,u}{8,16,64,128,size}::reverse_bits, Wrapping::reverse_bits ва
slice::copy_thin.
Илова бар ин, метавон қайд кард
Манбаъ: opennet.ru