Rust 1.35 programozási nyelv kiadás

került sor rendszer programozási nyelv kiadása Rozsda 1.35, amelyet a Mozilla projekt fejlesztett ki. A nyelv a memória biztonságára összpontosít, automatikus memóriakezelést biztosít, és lehetőséget biztosít a magas szintű párhuzamosság elérésére szemétgyűjtő vagy futási idő nélkül.

A Rust automatikus memóriakezelése megszabadítja a fejlesztőt a mutatómanipulációtól, és megvédi az alacsony szintű memóriakezelésből eredő problémákat, mint például az utólagos memóriaelérések, a nulla mutatóhivatkozások, a puffertúllépések és hasonlók. Csomagkezelő fejlesztés alatt áll a könyvtárak terjesztésére, az összeállítás biztosítására és a függőségek projekt általi kezelésére. Szállítmány, amely lehetővé teszi, hogy egy kattintással megszerezze a programhoz szükséges könyvtárakat. Egy tárhely támogatott a könyvtárak fogadására ládák.io.

A főbb innovációk:

  • Tulajdonságok FnOnce, FnMut и Fn kupackiosztásra valósítottuk meg dobozos típusok Box‹dyn FnOnce›, Box‹dyn FnMut› és Box‹dyn Fn›;
  • Hozzáadva alkalom lezárások öntése nem biztonságos funkciómutatókra (unsafe fn);
  • Megvalósította a makró „dbg!” argumentumok nélkül a fájlnév és a sorszám megjelenítéséhez az stderr-ben a változó vizsgálata nélkül, ami kényelmes a feltételes kifejezések működésének hibakereséséhez;
  • A " metódus hozzáadva az f32 és f64 lebegőpontos típusokhozcopysign» karakter másolása egyik számból a másikba;
  • Metódus hozzáadva "tartalmaz“, amely lehetővé teszi annak ellenőrzését, hogy a megadott érték a tartományon belül van-e;
  • Hozzáadott módszer Ref:Cell:map_split, amely lehetővé teszi a kölcsönzött RefCell érték tükrözését és elkülönítését a kölcsönzött adatok különböző összetevőihez;
  • Hozzáadott módszer RefCell::replace_with az aktuális RefCell érték cseréje és a régi érték visszaadása eredményeként;
  • Hozzáadott módszer ptr::hash a mutató vagy hivatkozás kivonatolása egy címre, nem pedig a címzett értékre;
  • Hozzáadott módszer Opció::másolt az Opció‹&T› vagy Opció‹&mut T› opciók tartalmának másolásához;
  • Az API-k új része átkerült a stabil kategóriába, beleértve a stabilizált módszereket is
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Tartomány::tartalmazza,
    Tartomány::tartalmazza,
    Tartomány::tartalmazza,
    RangeInclusive::tartalmazza,
    RangeToInclusive::tartalmazza és
    Opció::másolt;

  • Hozzáadtuk a drop_bounds ellenőrzést a clippy-hez (linter), amely akkor aktiválódik, amikor „T: Drop” kötést adunk a függvényhez;
  • A fordító hozzáadott egy új célplatform támogatását
    wasm32-unknown-wasi (interfész VOLTAM ÉN a WebAssembly böngészőn kívüli használatához);

  • A Rust eszközkészlet a szabványos Musl C könyvtáron alapuló disztribúciókhoz készült.

Forrás: opennet.ru

Hozzászólás