Geliştirme ekibi Rust 1.36'yı tanıtmaktan heyecan duyuyor!
Rust 1.36'daki yenilikler neler?
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:
- dbg!() makrosu artık birden fazla argüman alabilir.
- Birçok API artık const olarak işaretlenmiştir:
- Stabilize edilen yeni API'ler:
- Standart kitaplıkta yapılan diğer değişiklikleri burada bulabilirsiniz burada.
Diğer değişiklikler Rust, Kargo и Clippy.
Kaynak: linux.org.ru