
Rust 1.99.1, wcslen bağlantısında, FFI bool dönüşünde ve macOS'ta rust-lld içindeki regresyonları düzeltir
Rust 1.99.1 bir yama sürümüdür ve üç regresyonu düzeltir: wcslen için geri dönüş (fallback), x86_64'te FFI bool dönüşü ile macOS'ta rust-lld'nin libLLVM yüklemesi.
Ne düzeltiyor Rust 1.99.1
Rust ekibi, yeni bir yama sürümü olarak Rust 1.99.1'i yayımladı. Sürüm, önceki sürümlerden bilinen üç regresyonu düzeltir; bunlar arasında UEFI hedefleri, x86_64 FFI kodu ve macOS bağlayıcı yapılandırmalarıyla ilgili sorunlar da var.
Bazı Rust hedef projelerinde, eksik wcslen sembolü nedeniyle bağlantı hataları ortaya çıkabilir. İşlev artık Rust’ın compiler-builtins kitaplığında bir geri dönüş (fallback) olarak temsil ediliyor. Sorun şundan kaynaklanıyordu: LLVM’nin loop-idiom-wcslen aşaması sırasında wcslen çağrıları ekleyebiliyor ve bu işlev bazı hedeflerde libc’de veya başka bir yerde bulunmuyordu. Özellikle UEFI hedefleri, std kullanan her proje için bozuktu çünkü bu çağrılardan bazıları öncederlenmiş standart kitaplığa eklenmişti; benzer kullanım örnekleri de aynı sorunu tetiklenebilirdi.
Dönen değerler ve bağlayıcı yüklemesi
FFI aracılığıyla bool dönen Rust işlevleri, dönüş kaydında 1’den 7’ye kadar bitleri tanımsız bırakabiliyordu; bu, çağıranların 0 veya 1 dışında çöp değerler gözlemleyebileceği anlamına geliyordu. Dönüş türü, ABI’nin gerektiği gibi sıfır genişletmesi için artık işaretlendi.
Ayrıca, derleyici rustup vekil dışında çağrıldığında rust-lld macOS’ta başlatılamıyordu çünkü ilgili kitaplık arama yolu için doğrudan bir parametre yoktu. Rust 1.99.1 artık rust-lld’yi, libLLVM.dylib içinen dizin için bir rpath kaydıyla derliyor.
Nasıl güncellenir ve test edilir
Önceki sürümü rustup ile kullanan kullanıcılar, rustup update stable komutuyla 1.99.1’e geçebilir. rustup bulunmayan kullanıcılar, Rust web sitesindeki ilgili sayfadan edinebilir. Rust sürüm ekibi ayrıca, beta ve nightly kanallarını yerel olarak ve CI içinde kullanarak gelecek sürümleri denemelerini ve buldukları herhangi bir hatayı bildirmelerini istedi. Ekip, 1.99.1’e katkıda bulunan herkese teşekkür etti ve bu sürüm onlarsız mümkün olmazdı.
Kaynaklar: Lobsters
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.