Rust derleyicisi never türünü kararlı sürüme taşıdı
Öne çıkanlar
- Rust 1.99 sürümüyle birlikte never (!) türü kararlı hale geliyor ve Infallible türünün yerini alıyor.
- Crater taramasında tespit edilen 3 bin 300 sorunlu paketin 1.553 tanesi geriye dönük yamalarla onarıldı.
- Belirsiz tip çıkarımlarında varsayılan dönüş tipi () yerine doğrudan never türü olarak güncellendi.
Rust derleyici ekibi, programlama dilinde hiçbir zaman değer üretmeyen durumları ve geri dönmeyen fonksiyonları temsil eden never (!) türünü kararlı hale getirdi. İki yılı aşkın süren çalışmaların ardından 24 Ağustos'ta tamamlanan bu adım, derleyicinin uzun süredir dahili olarak kullandığı ancak kararsız kabul edilen özelliğini genel kullanıma açtı. Bu geliştirme sayesinde Rust 1.99 sürümünden itibaren Infallible türü de doğrudan never türünün bir takma adı haline geliyor.
Never türünün kararlı hale getirilmesi, jenerik kodların daha verimli çalışmasını ve tip çıkarımının sadeleşmesini sağlıyor. Örneğin hata üretmeyen dönüşümlerde hata tipi olarak ünlem işareti kullanıldığında, derleyici bu kod dalının hiçbir zaman çalışmayacağını bilerek ölü kodları tamamen temizliyor. Ancak bu türün diğer tiplere otomatik dönüşebilme özelliği, belirsiz tip durumlarında geriye dönük uyumsuzluklara yol açma riski taşıyordu. Önceden () birim tipine dönen varsayılan çıkarım mekanizması, Rust 2024 sürümüyle birlikte bizzat ünlem işaretine yönlendirildi.
Derleyici geliştiricileri bu değişikliğin mevcut ekosistemi bozmaması için crates.io üzerindeki tüm paketleri Crater aracıyla taradı. Testlerde 3 bin 300 paketin etkilendiği, ancak yalnızca yedi paketin doğrudan çöktüğü belirlendi. Kütüphane bakımcılarıyla yürütülen ortak çalışmalar ve yayımlanan yamalar sonucunda sorunlu paket sayısı 1.553 adet azaltıldı. Yetkililer, nadir görülen derleme hatalarının açık tip tanımlarıyla kolayca çözülebildiğini ve dilin basitleştirilmesi adına bu adımın atıldığını açıkladı.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.