Pas 1.36

Geliştirme ekibi Rust 1.36'yı tanıtmaktan heyecan duyuyor!

Rust 1.36'daki yenilikler neler?
Yeni özellikten gelecek özellik stabilize edildi: tahsis sandığı, MaybeUninit , Rust 2015 için NLLHashMap'in yeni bir uygulaması ve Kargo için yeni bir bayrak çevrimdışı.


Ve şimdi daha ayrıntılı olarak:

  • Nihayet Rust 1.36'da stabilize özellik Gelecek.
  • Sandık tahsisi
    Rust 1.36'dan itibaren, std'nin küresel ayırıcıya bağlı olan kısımları (Vec gibi) ), tahsis sandığındadır. Şimdi std bu parçaları yeniden ihraç edecek. Bu konuda daha fazlası.
  • Belki Birim mem::başlatılmamış yerine.
    Önceki sürümlerde mem::uninitialized, başlatma kontrolünü atlamanıza izin veriyordu, tembel dizi tahsisi için kullanılıyordu, ancak bu işlev oldukça tehlikelidir (daha fazla), böylece MaybeUninit türü stabilize edildi , bu daha güvenli.
    MaybeUninit'ten beri daha güvenli bir alternatifse, Rust 1.38'den itibaren mem::uninitialized kullanımdan kaldırılmış bir özellik olacaktır.
    Başlatılmamış hafıza hakkında daha fazla bilgi edinmek istiyorsanız Alexis Beingessner'ın bu blog yazısını okuyabilirsiniz.
  • Rust 2015 için NLL.
    duyuruda Pas 1.31.0 Geliştiriciler bize, ödünç alma denetleyicisini daha akıllı ve daha kullanıcı dostu hale getiren bir dil iyileştirmesi olan NLL'den (Sözcük Dışı Ömür Boyu) bahsetti. Örnek:
    fn ana() {
    mut x = 5 olsun;
    y = &x;
    z = &mut x; // 1.31.0'dan önce buna izin verilmiyordu.
    }

    1.31.0'da NLL, geliştiricilerin Rust 2018'te destek ekleyeceği sözünü vererek yalnızca Rust 2015'de çalıştı.
    NLL hakkında daha fazla bilgi edinmek istiyorsanız, bu konuda daha fazlasını okuyabilirsiniz. Blog girişleri (Felix Klocks).

  • Cargo'nun yeni bayrağı "çevrimdışı"dır.
    Rust 1.36, Cargo için yeni bir bayrağı sabitledi. --offline bayrağı, Cargo'ya daha sonra çevrimdışı olarak kullanılabilmesi için yerel olarak önbelleğe alınmış bağımlılıkları kullanmasını söyler. Gerekli bağımlılıklar çevrimdışı mevcut olmadığında ve İnternet'e hala ihtiyaç duyuluyorsa Cargo bir hata verecektir. Bağımlılıkları önceden indirmek için tüm bağımlılıkları indirecek olan kargo fetch komutunu kullanabilirsiniz.
  • öyle Değişikliklere ilişkin daha ayrıntılı bir genel bakışı okuyabilirsiniz.

Standart kütüphanede de değişiklikler var:

Diğer değişiklikler Rust, Kargo и Clippy.

Kaynak: linux.org.ru

Yorum ekle