Rust 1.35 Варақаи забони барномасозӣ

сурат гирифт нашри забони барномасозии система Занги 1.35, ки аз ҷониби лоиҳаи Mozilla таҳия шудааст. Забон ба бехатарии хотира тамаркуз мекунад, идоракунии автоматии хотираро таъмин мекунад ва воситаеро барои ноил шудан ба параллелизми баланди вазифаҳо бидуни истифодаи коллектор ё вақти корӣ таъмин мекунад.

Идоракунии хотираи автоматии Rust таҳиякунандаро аз коркарди нишондиҳандаҳо озод мекунад ва аз мушкилоте, ки дар натиҷаи коркарди хотираи сатҳи паст ба вуҷуд меоянд, ба монанди дастрасии пас аз хотираи хотира, истинодҳои нул нишондодҳо, изофаи буферӣ ва монанди инҳо муҳофизат мекунад. Менеҷери бастаҳо барои паҳн кардани китобхонаҳо, таъмини ҷамъбаст ва идоракунии вобастагӣ аз ҷониби лоиҳа таҳия карда мешавад. бор, ба шумо имкон медиҳад, ки китобхонаҳои барои барнома лозимиро бо як клик дастрас кунед. Барои китобхонаҳои мизбон як анбор дастгирӣ карда мешавад crates.io.

асосӣ навовариҳо:

  • Хусусиятҳо FnOnce, FnMut и Fn барои геп-таксим карда шудааст намудҳои қуттиҳо Box‹dyn FnOnce›, Box‹dyn FnMut› ва Box‹dyn Fn›;
  • Илова карда шуд имконият рехтани бастаҳо ба нишондиҳандаҳои функсияи хатарнок (fn хатарнок);
  • Имконияти даъват кардани макрос "dbg!" бидуни далелҳо барои намоиши номи файл ва рақами сатр дар stderr бидуни тафтиши тағирёбанда, ки барои ислоҳи кори ифодаҳои шартӣ қулай аст;
  • Усули " ба намудҳои нуқтаи шинокунанда илова карда шуд f32 ва f64нусхабардорӣ» аз як рақам ба рақами дигар нусхабардорӣ кардани аломат;
  • Усули иловашуда "дохил мешаванд", ки ба шумо имкон медиҳад санҷед, ки арзиши муайяншуда дар доираи диапазон аст;
  • Усули иловашуда Ислоҳ: Ҳуҷайра: харитаи_тақсим, ба шумо имкон медиҳад, ки арзиши RefCell-ро барои ҷузъҳои гуногуни додаҳои қарзӣ инъикос ва ҷудо кунед;
  • Усули иловашуда RefCell::replace_with иваз кардани арзиши ҷории RefCell ва баргардонидани арзиши кӯҳна дар натиҷа;
  • Усули иловашуда ptr :: hash ҳеш кардани нишондиҳанда ё истинод аз рӯи суроға, на арзиши адресшуда;
  • Усули иловашуда Варианти::нусхабардорӣ нусхабардории мундариҷаи имконоти Option‹&T› ё Option‹&mut T›;
  • Қисмати нави APIҳо ба категорияи устувор, аз ҷумла усулҳое, ки мӯътадил шудаанд, гузаронида шуд
    f32 :: нусхабардорӣ,
    f64 :: нусхабардорӣ,
    RefCell::replace_bo,
    RefCell::map_split,
    ptr :: hash,
    Диапазон :: дорои,
    RangeFrom:: дорои,
    RangeTo:: дорои,
    RangeInclusive :: дорои,
    RangeToInclusive :: дорои ва
    Варианти::нусхабардорӣ;

  • Санҷиши drop_bounds иловашуда ба clippy (linter), ки ҳангоми илова кардани ҳатмии "T: Drop" ба функсия оғоз мешавад;
  • Компилятор барои платформаи нави ҳадаф дастгирӣ илова кардааст
    wasm32-номаълум-wasi (интерфейс ВАСИ истифода бурдани WebAssembly берун аз браузер);

  • Маҷмӯаи Rust барои тақсимот дар асоси китобхонаи стандартии C Musl мутобиқ карда шудааст.

Манбаъ: opennet.ru

Илова Эзоҳ