Ana içeriğe geç
Programlama

Rust 1.99.0 sürümü C uyumlu değişken argüman desteğiyle yayımlandı

Öne çıkanlar

  • Rust 1.99.0 ile C ve C-unwind arayüzlerinde değişken sayıda argüman alan fonksiyon tanımlama desteği kararlı hale geldi.
  • Ham işaretçiler üzerinden boyut ve hizalama bilgilerinin alınmasına yönelik kurallar netleştirildi.
  • Derleyici optimizasyonları ve özel bellek tahsis edicilerle uyum için Box::leak yerine Box::into_non_null kullanımı önerildi.

Rust geliştirme ekibi, programlama dilinin en yeni kararlı sürümü olan Rust 1.99.0'ı yayımladı. Yeni sürüm, geliştiricilerin doğrudan Rust içinde C uygulama ikili arayüzü (ABI) ile uyumlu değişken sayıda argüman alan fonksiyonlar tanımlamasına olanak tanıyor. Daha önce yalnızca harici C fonksiyonlarını çağırabilen Rust, bu güncellemeyle birlikte C ve C-unwind arayüzlerinde yerel değişken argümanlı fonksiyon yazımını kararlı hale getirdi.

Yeni sürümde değişken argüman listeleri için C dilindeki va_list yapısıyla tam uyumlu VaList türü kullanılıyor. Bu yapıdan hangi veri türlerinin okunabileceğini ise VaArgSafe kuralı denetliyor. Güncelleme ayrıca satır içi assembly gerektiren ve C dışı ikili arayüzleri kullanan çıplak değişken argümanlı fonksiyonların tanımlanmasını da resmen destekliyor. Bunun yanı sıra ham işaretçilerden boyut ve hizalama bilgilerinin güvenli biçimde alınmasını sağlayan güvenlik gereksinimleri karara bağlandı.

Rust ekibi bellek yönetimi tarafında Box::leak belgelerini güncelleyerek sızdırılan belleğin sonradan serbest bırakılmasını tavsiye etmediklerini duyurdu. Yapılan açıklamada, bu tür desenlerin derleyici optimizasyonlarıyla çeliştiği ve yakında kararlı hale gelecek özel bellek tahsis edicilerle sorun çıkarabileceği belirtildi. Geliştiricilere benzer durumlar için standart kütüphanede yer alan Box::into_non_null yapısını tercih etmeleri önerildi.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.