Karat 1.36

Pasukan pembangunan teruja untuk memperkenalkan Rust 1.36!

Apa yang baharu dalam Rust 1.36?
Ciri masa depan distabilkan, daripada baharu: alloc crate, MaybeUninit , NLL untuk Rust 2015, pelaksanaan baharu HashMap dan bendera baharu -luar talian untuk Kargo.


Dan sekarang dengan lebih terperinci:

  • Akhirnya dalam Rust 1.36 stabil sifat Masa Depan.
  • Peruntukan peti
    Mulai Rust 1.36, bahagian std yang bergantung pada pengalokasi global (seperti Vec ), berada dalam peti peruntukan. Sekarang std akan mengeksport semula bahagian ini. Lebih lanjut mengenai ini.
  • MaybeUnit bukannya mem::uninitialized.
    Dalam keluaran sebelumnya, mem::uninitialized membenarkan anda memintas semakan permulaan, ia digunakan untuk peruntukan tatasusunan malas, tetapi fungsi ini agak berbahaya (lebih), jadi jenis MaybeUninit telah distabilkan , yang lebih selamat.
    Nah, sejak MaybeUninit ialah alternatif yang lebih selamat, maka pada Rust 1.38, mem::uninitialized akan menjadi ciri yang tidak digunakan lagi.
    Jika anda ingin mengetahui lebih lanjut tentang ingatan yang tidak dimulakan, anda boleh membaca catatan blog ini oleh Alexis Beingessner.
  • NLL untuk Rust 2015.
    Dalam pengumuman tersebut Karat 1.31.0 Pembangun memberitahu kami tentang NLL (Non-Lexical Lifetime), peningkatan untuk bahasa yang menjadikan penyemak pinjaman lebih pintar dan lebih mesra pengguna. Contoh:
    fn utama() {
    biarkan mut x = 5;
    biarkan y = &x;
    biarkan z = &mut x; // Ini tidak dibenarkan sebelum 1.31.0.
    }

    Dalam 1.31.0, NLL hanya berfungsi dalam Rust 2018, dengan janji bahawa pembangun akan menambah sokongan dalam Rust 2015.
    Jika anda ingin mengetahui lebih lanjut mengenai NLL, anda boleh membaca lebih lanjut dalam ini entri blog (Felix Klocks).

  • Bendera baharu untuk Kargo ialah β€”ofline.
    Rust 1.36 telah menstabilkan bendera baharu untuk Kargo. Bendera --luar talian memberitahu Kargo untuk menggunakan kebergantungan cache setempat supaya ia boleh digunakan di luar talian kemudian. Apabila kebergantungan yang diperlukan tidak tersedia di luar talian, dan jika Internet masih diperlukan, maka Cargo akan mengembalikan ralat. Untuk pramuat turun kebergantungan, anda boleh menggunakan arahan pengambilan kargo, yang akan memuat turun semua kebergantungan.
  • ia adalah anda boleh membaca gambaran keseluruhan perubahan yang lebih terperinci.

Terdapat juga perubahan dalam perpustakaan standard:

Perubahan lain Rust, Cargo ΠΈ Clippy.

Sumber: linux.org.ru

Tambah komen