Rust 1.35 programmēšanas valodas izlaidums

notika sistēmas programmēšanas valodas izlaidums 1.35. rūsa, ko izstrādājis Mozilla projekts. Valoda koncentrējas uz atmiņas drošību, nodrošina automātisku atmiņas pārvaldību un nodrošina iespēju sasniegt augstu uzdevumu paralēlismu, neizmantojot atkritumu savācēju vai izpildlaiku.

Rust automātiskā atmiņas pārvaldība atbrīvo izstrādātāju no manipulācijām ar rādītāju un aizsargā pret problēmām, kas rodas no zema līmeņa atmiņas manipulācijām, piemēram, pēc brīvas piekļuves atmiņai, nulles rādītāja atsauču, bufera pārtēriņu un tamlīdzīgi. Tiek izstrādāts pakotņu pārvaldnieks, lai izplatītu bibliotēkas, nodrošinātu montāžu un pārvaldītu projekta atkarības. krava, kas ļauj ar vienu klikšķi iegūt programmai nepieciešamās bibliotēkas. Repozitorijs tiek atbalstīts bibliotēku mitināšanai crates.io.

Galvenais jauninājumiem:

  • Iezīmes FnOnce, FnMut и Fn ieviesti kaudzes piešķirtajiem kārbveida veidi Box‹dyn FnOnce›, Box‹dyn FnMut› un Box‹dyn Fn›;
  • Pievienots iespēja aizdares liešana nedrošu funkciju norādes (unsafe fn);
  • Ieviesta iespēja izsaukt makro “dbg!” bez argumentiem faila nosaukuma un rindas numura parādīšanai stderr, nepārbaudot mainīgo, kas ir ērti nosacījuma izteiksmju darbības atkļūdošanai;
  • Pievienota metode " peldošā komata tipiem f32 un f64copysign» kopēt rakstzīmi no viena skaitļa uz citu;
  • Pievienota metode "satur“, kas ļauj pārbaudīt, vai norādītā vērtība ir diapazonā;
  • Pievienota metode Ref:Cell:map_split, ļaujot atspoguļot un atdalīt aizņemto RefCell vērtību dažādām aizņemto datu sastāvdaļām;
  • Pievienota metode RefCell::aizvietot_ar aizstāt pašreizējo RefCell vērtību un kā rezultātu atgriezt veco vērtību;
  • Pievienota metode ptr:: hash jaukt rādītāju vai atsauci pēc adreses, nevis adresētās vērtības;
  • Pievienota metode Opcija::kopēts lai kopētu opciju Option‹&T› vai Option‹&mut T› saturu;
  • Jauna API daļa ir pārvietota uz stabilo kategoriju, tostarp metodes, kas ir stabilizētas
    f32::copysign,
    f64::copysign,
    RefCell::aizvietot_ar,
    RefCell::map_split,
    ptr:: hash,
    Diapazons::satur,
    Diapazons no:: satur,
    Diapazons Līdz::satur,
    Diapazons Iekļauts::satur,
    RangeToInclusive::satur un
    Opcija::kopēts;

  • Pievienota drop_bounds pārbaude clippy (linter), kas tiek aktivizēta, pievienojot funkcijai “T: Drop” saistījumu;
  • Kompilators ir pievienojis atbalstu jaunai mērķa platformai
    wasm32-unknown-wasi (interfeiss BIJU ES lai izmantotu WebAssembly ārpus pārlūkprogrammas);

  • Rust rīku komplekts ir pielāgots izplatīšanai, kuras pamatā ir standarta C bibliotēka Musl.

Avots: opennet.ru

Pievieno komentāru