Rust 1.69 Programming Language Release

Pelepasan bahasa pemrograman tujuan umum Rust 1.69, diadegkeun ku proyék Mozilla, tapi ayeuna dikembangkeun dina naungan organisasi nirlaba bebas Rust Foundation, parantos diterbitkeun. basa museurkeun kana kaamanan memori jeung nyadiakeun sarana pikeun ngahontal paralelisme pakasaban tinggi bari Ngahindarkeun pamakéan a collector sampah na runtime (runtime diréduksi jadi initialization dasar tur pamaliharaan perpustakaan baku).

Métode penanganan memori Rust nyalametkeun pamekar tina kasalahan nalika ngamanipulasi pointer sareng ngajagi tina masalah anu timbul kusabab panangan mémori tingkat rendah, sapertos aksés ka daérah mémori saatos dibébaskeun, dereferencing pointer null, overruns panyangga, jsb. Pikeun ngadistribusikaeun perpustakaan, nyadiakeun ngawangun jeung ngatur kagumantungan, proyék ngamekarkeun manajer pakét Cargo. Repositori crates.io dirojong pikeun perpustakaan hosting.

Kasalametan memori disayogikeun dina Rust dina waktos kompilasi ngaliwatan pamariksaan rujukan, ngalacak kapamilikan obyék, ngalacak umur obyék (skop), sareng ngira-ngira kabeneran aksés mémori nalika palaksanaan kode. Karat ogé nyadiakeun panyalindungan ngalawan overflows integer, merlukeun initialization wajib nilai variabel saméméh pamakéan, handles kasalahan hadé dina perpustakaan baku, nerapkeun konsép rujukan immutable sarta variabel sacara standar, nawarkeun ketak statik kuat pikeun ngaleutikan kasalahan logis.

Inovasi utama:

  • Manajer pakét kargo implements deteksi warnings nu bisa otomatis ngumbar, sarta kaluaran rekomendasi luyu pikeun ngajalankeun "kargo fix" atawa "kargo clippy -fix". warning: impor henteu kapake: 'std:: hash:: Hash' -> src/main.rs:1:5 | 1 | ngagunakeun std::hash::Hash; | ^^^^^^^^^^^^^^^^^ | = catetan: '#[warn(unused_imports)]' on sacara standar warning: 'foo' (bin "foo") ngahasilkeun 1 warning (jalankeun 'cargo fix -bin "foo"' pikeun nerapkeun 1 saran)
  • Kargo parantos nambihan kaluaran rekomendasi pikeun ngagunakeun paréntah "tambah kargo" nalika nyobian masang perpustakaan kalayan paréntah "pasang kargo".
  • Pikeun ngirangan waktos kompilasi, kalebet inpormasi debugging dina skrip ngawangun parantos dieureunkeun sacara standar. Upami skrip ngawangun parantos suksés, parobihan éta moal aya bédana anu katingali, tapi upami aya kagagalan, traceback dump bakal ngandung inpormasi anu kirang. Pikeun mulangkeun kabiasaan anu lami ka Cargo.toml anjeun kedah nambihan: [profile.dev.build-override] debug = leres [profile.release.build-override] debug = leres
  • Bagian anyar tina API geus dipindahkeun ka kategori stabil, kaasup métode jeung palaksanaan Tret geus stabilized:
    • CStr::from_bytes_until_nul
    • inti ::ffi::FromBytesUntilNulError
  • Atribut "const", anu nangtukeun kamungkinan ngagunakeunana dina konteks naon waé tinimbang konstanta, dianggo dina fungsi:
    • SocketAddr:: anyar
    • SocketAddr::ip
    • SocketAddr::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4 :: anyar
    • SocketAddrV4::ip
    • SocketAddrV4:: palabuhan
    • SocketAddrV6 :: anyar
    • SocketAddrV6::ip
    • SocketAddrV6:: palabuhan
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • Ditambahkeun kamampuan ngagunakeun umbul leres sareng palsu dina argumen kompiler.

sumber: opennet.ru

Tambahkeun komentar