Rust 1.46 Programming Language Release

diterbitkeun ngabebaskeun 1.46 tina basa programming sistem karahaan, diadegkeun ku proyék Mozilla. Basa éta museurkeun kana kaamanan mémori, nyayogikeun manajemén mémori otomatis, sareng nyayogikeun alat pikeun ngahontal paralelisme tugas anu luhur tanpa nganggo tukang sampah sareng runtime.

Manajemén mémori otomatis Rust ngaleungitkeun kasalahan nalika ngamanipulasi pointer sareng ngajagi tina masalah anu timbul tina manipulasi mémori tingkat rendah, sapertos ngaksés daérah mémori saatos dibébaskeun, dereferences pointer null, overruns panyangga, jsb. Pangatur pakét dikembangkeun pikeun ngadistribusikaeun perpustakaan, mastikeun ngumpul sareng ngatur kagumantungan ku proyék. kargo, anu ngamungkinkeun anjeun kéngingkeun perpustakaan anu anjeun peryogikeun pikeun program dina hiji klik. Repository dirojong pikeun host perpustakaan crates.io.

utama inovasi:

  • Kamampuhan fungsi anu ditetepkeun nganggo ekspresi "const fn" parantos dilegaan, anu tiasa disebat henteu ngan ukur fungsi biasa, tapi ogé dianggo dina kontéks naon waé tinimbang konstanta. Pungsi ieu diitung dina waktos compile, teu di runtime, ngarah tunduk kana larangan nu tangtu, kayaning kamampuh maca wungkul tina konstanta.

    Pelepasan anyar ngaleungitkeun larangan pikeun ngagunakeun operator Boolean ("&&" sareng "||") dina fungsi sapertos kitu, sareng ngamungkinkeun panggunaan konstruksi "lamun", "upami ngantep", "cocok",
    "bari", "bari hayu" jeung "loop", sarta ogé nyadiakeun kamampuhan pikeun ngarobah kana keureut (nyiksikan, arrays dinamis) ngagunakeun ekspresi "& [T]". Pamakéan fitur ieu dina fungsi "const fn" ngidinan Anjeun pikeun mindahkeun sababaraha operasi sumberdaya-intensif kana tahap kompilasi. Salaku conto, palaksanaan "const-sha1" ngamungkinkeun pikeun ngitung hashes SHA-1 dina waktos kompilasi, anu nyababkeun nyepetkeun panyambungan WinRT pikeun Rust ampir 40 kali.

  • Pikeun nyieun pesen kasalahan leuwih informatif, rojongan pikeun atribut "#[track_caller]" geus stabilized, nu mangpaat pikeun fungsi kawas unwrap, nu bisa ngabalukarkeun panik lamun tipe salah dipaké. Atribut anu ditangtukeun bakal dianggo ku panangan panik pikeun nyitak lokasi panelepon dina pesen kasalahan.
  • Atribut "const", nu nangtukeun kamungkinan ngagunakeun eta dina sagala konteks tinimbang konstanta, dipaké dina std:: mem:: poho metoda.
  • Bagian anyar tina API geus dipindahkeun ka kategori stabil, kaasup stabilized Pilihan :: zip na vec :: solokan :: as_slice.
  • Dina manajer pakét Cargo ditambahkeun rojongan pikeun variabel lingkungan anyar diatur nalika nyusun pakét: CARGO_BIN_NAME (ngaran file laksana hasilna), CARGO_CRATE_NAME (ngaran pakét), CARGO_PKG_LICENSE (lisensi dieusian dina manifest), CARGO_PKG_LICENSE_FILE (jalur ka file lisénsi).

sumber: opennet.ru

Tambahkeun komentar