
Rust 1.100.0 yayınlandı: never type, allocator API ve Cargo değişiklikleri
Rust 1.100.0 rustup üzerinden kullanılabilir ve never type, allocator API parçaları, DropGuard, Cargo kullanılmayan bağımlılık uyarıları, build önbelleği değişiklikleri ve minimum publish age çözümü kararlı hale getirir.
Rust 1.100.0 artık rustup update stable ile kullanılabilir. Sürüm never type, core allocator API parçaları, core::mem::DropGuard, core::mem::conjure_zst ve kullanılmayan bağımlılık raporlama, build dizini düzeni değişiklikleri ve minimum publish age kontrolleri dahil olmak üzere çeşitli Cargo özelliklerini kararlı hale getirir.
Never type kararlı hale geldi
10 yıl ve beş başarısız kararlı hale getirme girişiminin ardından never type, ! şeklinde yazılarak, kararlı hale geldi. Diverging hesaplamalar için kanonik uninhabited type'dır ve herhangi bir başka tipe dönüştürülebilir. Bu sürüm ayrıca !'nin Result
Allocator API ve DropGuard
Rust 1.100.0 allocator_api'nin core parçalarını kararlı hale getirir; Allocator trait ile Vec ve Box üzerinden özel allocator'lara izin verir. Sürüm ayrıca core::mem::DropGuard'ı sunar; bu yapı drop edildiğinde bir closure çalıştırır ve destructor'ı çalıştırmadan guarded değişkeni döndürmek için dismiss'i destekler. core::mem::conjure_zst, sıfır boyutlu type'ların değerlerini oluşturmak için dedicated unsafe bir yol sunar.
Cargo iyileştirmeleri
Cargo artık kullanılmayan bağımlılıkları raporlar; bu [lints.cargo] tablosu ile kontrol edilir ve uyarılar tüm olası build target'ları build edildiğinde görünür. Kullanılmayan dev-dependencies için uyarı gösterilmez. Build dizini artık build adımları etrafında dizinleri organize ederek ve hash'i parent dizine taşıyarak build yapılandırma hash'ini tutarlı şekilde uygular. Cargo ayrıca minimum publish age çözümünü kararlı hale getirir; kullanıcıların .cargo/config.toml içinde global-min-publish-age ayarlamasına ve yapılandırılmış yaştan daha yakın zamanda publish edilmiş sürümleri atlamasına izin verir. cargo install hem kurulan crate hem de onun bağımlılıkları için ayarı yok sayar.
Kararlı API'ler ve diğer değişiklikler
Sürüm Box::new_in, Vec::new_in, Child::main_thread_handle, bool::toggle, Box::take, Box::map, Rc::map, Arc::map, str ve slice trim yardımcıları, Path::trim_prefix, Vec::from_fn ve sürüm notlarında listelenen diğerleri dahil olmak üzere birçok kararlı API ekler. Rust, Cargo ve Clippy'deki değişiklikler ayrı olarak belgelenir ve Rust ekibi katkıda bulunanlara teşekkür eder.
Kaynaklar: blog.rust-lang.org
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.