Basa pemrograman Rust 1.46 release

diterbitake release 1.46 saka basa pemrograman sistem Rust, didegaké déning proyèk Mozilla. Basa kasebut fokus ing safety memori, nyedhiyakake manajemen memori otomatis, lan nyedhiyakake alat kanggo nggayuh paralelisme tugas sing dhuwur tanpa nggunakake pengumpul sampah lan runtime.

Manajemen memori otomatis Rust ngilangake kasalahan nalika manipulasi penunjuk lan nglindhungi saka masalah njedhul saka manipulasi memori tingkat kurang, kayata ngakses wilayah memori sawise wis dibebaske, null pointer dereferences, buffer overruns, etc. Pangatur paket dikembangake kanggo nyebarake perpustakaan, mesthekake perakitan lan ngatur dependensi dening proyek kasebut. Cargo, ngidini sampeyan entuk perpustakaan sing dibutuhake kanggo program ing siji klik. Repositori didhukung kanggo dadi tuan rumah perpustakaan peti.io.

Utama inovasi:

  • Kapabilitas fungsi sing ditetepake nggunakake ekspresi "const fn" wis ditambahi, sing bisa diarani ora mung minangka fungsi biasa, nanging uga digunakake ing konteks apa wae tinimbang konstanta. Fungsi kasebut diwilang ing wektu kompilasi, dudu ing runtime, saengga tundhuk watesan tartamtu, kayata kemampuan kanggo maca mung saka konstanta.

    Rilis anyar mbusak larangan nggunakake operator Boolean ("&&" lan "||") ing fungsi kasebut, lan ngidini panggunaan konstruksi "yen", "yen ayo", "cocog",
    "nalika", "nalika ayo" lan "loop", lan uga menehi kemampuan kanggo ngowahi irisan-irisan (irisan, susunan dinamis) nggunakake ekspresi "&[T]". Panggunaan fitur kasebut ing fungsi "const fn" ngidini sampeyan mindhah sawetara operasi intensif sumber daya menyang tahap kompilasi. Contone, implementasine saka "const-sha1" ndadekake iku bisa kanggo ngetung SHA-1 hash ing wektu kompilasi, kang ndadΓ©kakΓ© kanggo nyepetake WinRT bindings kanggo Rust meh 40 kaping.

  • Kanggo nggawe pesen kesalahan luwih informatif, dhukungan kanggo atribut "#[track_caller]" wis stabil, sing migunani kanggo fungsi kaya unwrap, sing bisa nyebabake gupuh yen jinis digunakake kanthi ora bener. Atribut sing ditemtokake bakal digunakake dening panangan panik kanggo nyithak lokasi panelpon ing pesen kesalahan.
  • Atribut "const", sing nemtokake kamungkinan nggunakake ing sembarang konteks tinimbang konstanta, digunakake ing std:: mem:: lali cara.
  • BagΓ©an anyar saka API wis dipindhah menyang kategori stabil, kalebu Option stabil:: zip lan vec:: Saluran:: as_slice.
  • Ing manager paket Cargo ditambahake Dhukungan kanggo variabel lingkungan anyar sing disetel nalika nyusun paket: CARGO_BIN_NAME (jeneng file eksekusi sing diasilake), CARGO_CRATE_NAME (jeneng paket), CARGO_PKG_LICENSE (lisensi kasebut ing manifest), CARGO_PKG_LICENSE_FILE (path menyang file lisensi).

Source: opennet.ru

Add a comment