Rust'ın Yeni Nesil Trait Çözücüsü Nightly'de Varsayılan Oldu
Rust'ın yeni nesil trait çözücüsü nightly'de varsayılan hale geldi; 200'den fazla hata düzeltildi, derleme performansı önemli ölçüde iyileşti.
Rust ekibi, yaklaşık 4 yıllık geliştirme sürecinin ardından yeni nesil trait çözücüyü (next-generation trait solver) nightly kanalda varsayılan olarak etkinleştirdi. Bu değişiklik, derleyicinin where-clause kanıtlama ve associated type normalizasyonu gibi temel tip kontrolü mekanizmalarını baştan yazan, Rust'ın ilk sürümünden bu yana yapılan en büyük tekil değişiklik olarak nitelendiriliyor; önümüzdeki aylarda kararlı sürüme taşınması planlanıyor.
Yeni çözücü GitHub'da bilinen 200'den fazla hatayı düzeltiyor, opaque type'ların (RPIT, TAIT, RTN) işlenişini tutarlı hale getiriyor ve higher-ranked associated type'larla ilgili yanlış tip çıkarımlarını (bevy, minijinja gibi kütüphanelerde görülen) ortadan kaldırıyor. Ayrıca Move ve Forget gibi yeni örtük trait bound'larının eklenmesinin ve kalan tip sistemi sağlamsızlıklarının giderilmesinin önünü açıyor.
Derleme süresi performansı önemli bir odak noktası oldu; bazı durumlarda eski çözücüye göre karesel hatta üstel yavaşlık gösteren yeni implementasyon, son haftalardaki optimizasyonlarla önemli ölçüde iyileştirildi ve datafusion gibi bazı crate'ler artık 8 kattan fazla hızlı derleniyor. Değişiklik 22 Ağustos Cumartesi'nden itibaren nightly kanalda varsayılan olacak; öncesinde -Znext-solver=globally bayrağıyla test edilebiliyor. Geliştiricilerden rustup update nightly ile güncelleme yapıp mevcut projelerini test etmeleri ve karşılaştıkları regresyonları pinlenmiş GitHub issue'sunda bildirmeleri isteniyor.
Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz