Basa pemrograman Rust 1.62 release

Basa pemrograman tujuan umum Rust 1.62, didegaké déning proyèk Mozilla nanging saiki dikembangaké ing sangisoré organisasi nirlaba independen Rust Foundation, wis dirilis. Basa kasebut fokus ing safety memori lan nyedhiyakake sarana kanggo nggayuh paralelisme proyek sing dhuwur nalika ngindhari panggunaan kolektor sampah lan runtime (runtime dikurangi dadi initialization dhasar lan pangopènan perpustakaan standar).

Cara nangani memori Rust nylametake pangembang saka kesalahan nalika manipulasi penunjuk lan nglindhungi masalah sing muncul amarga penanganan memori tingkat rendah, kayata ngakses area memori sawise dibebasake, null pointer dereferencing, overruns buffer, etc. Kanggo nyebarake perpustakaan, nyedhiyakake mbangun lan ngatur dependensi, proyek kasebut ngembangake manajer paket Cargo. Repositori crates.io didhukung kanggo hosting perpustakaan.

Keamanan memori diwenehake ing Rust ing wektu kompilasi liwat mriksa referensi, nglacak kepemilikan obyek, nglacak umur obyek (skop), lan netepake akurasi akses memori sajrone eksekusi kode. Rust uga menehi pangayoman marang overflows integer, mbutuhake initialization prentah saka nilai variabel sadurunge nggunakake, Ngalahake kasalahan luwih apik ing perpustakaan standar, ditrapake konsep referensi immutable lan variabel minangka standar, nawakake typing statis kuwat kanggo nyilikake kasalahan logis.

Inovasi utama:

  • Manajer paket "kargo" nawakake printah "nambah", sing ngidini sampeyan nambah dependensi anyar menyang manifest Cargo.toml utawa ngganti dependensi sing ana saka baris printah. Printah kasebut uga ngidini sampeyan nemtokake fitur lan versi individu, contone: cargo add serde —features derive cargo add nom@5
  • Nambahake kemampuan kanggo nggunakake "#[turunan (Default)]" karo enum sing pilihan standar ditetepake nggunakake atribut "#[default]". #[deve(Default)] enum Mungkin {#[default] Ora Ana, Something(T), }
  • Ing platform Linux, implementasine mekanisme sinkronisasi Mutex sing luwih kompak lan luwih cepet digunakake, adhedhasar panggunaan futex sing diwenehake dening kernel Linux. Boten kados implementasine sadurunge digunakake adhedhasar perpustakaan pthreads, versi anyar nggunakake mung 5 bita tinimbang 40 kanggo nyimpen negara Mutex. Kajaba iku, Condvar lan RwLock mekanisme ngunci wis ditransfer kanggo futex.
  • Dhukungan tingkat kapindho kanggo platform target x86_64-unknown-none wis dileksanakake, dirancang kanggo ngasilake file eksekusi sing bisa digunakake tanpa sistem operasi. Contone, platform target sing ditemtokake bisa digunakake nalika nulis komponen kernel. Dhukungan tingkat kapindho kalebu jaminan perakitan.
  • Dhukungan tingkat katelu wis ditindakake kanggo platform aarch64-pc-windows-gnullvm lan x86_64-pc-windows-gnullvm. Tingkat katelu kalebu dhukungan dhasar, nanging tanpa tes otomatis, nerbitake bangunan resmi, utawa mriksa manawa kode kasebut bisa dibangun.
  • Bagean anyar saka API wis dipindhah menyang kategori stabil, kalebu cara lan implementasine sifat wis stabil:
    • bool:: banjur_sawetara
    • f32::total_cmp
    • f64::total_cmp
    • Stdin:: garis
    • windows:: CommandExt:: raw_arg
    • impl nilai standar kanggo AssertUnwindSafe
    • saka > kanggo Rc
    • saka > kanggo Arc<[u8]>
    • FusedIterator kanggo EncodeWide

    Source: opennet.ru

Add a comment