
Rust 1.99.1 wcslen linkindəki, FFI bool qaytarışında və rust-lld-da macOS-da reqressiyaları düzəldir
Rust 1.99.1 nöqtəli buraxılışıdır ki, üç reqressiyanı düzəldir: wcslen-ın geri qaytarılması, x86_64 platformasında FFI bool dəyərinin qaytarılması və macOS-da rust-lld-nin libLLVM kitabxanasının yüklənməsi.
Rust 1.99.1 nə düzəldir
Rust komandası Rust 1.99.1 versiyasını yeni nöqtəli buraxılış kimi dərc etdi. Buraxılış əvvəlki versiyalarda yaranmış üç reqressiyanı düzəldir, bunlar arasında UEFI hədəflərinə, x86_64-ın FFI koduna və macOS-un linkləmə konfiqurasiyalarına təsir edən problemlər var.
Bəzi Rust hədəf platformaları üçün layihələrdə itmiş wcslen simvolu səbəbindən linkləmə xətaları yarana bilərdi. Funksiya indi Rust-un compiler-builtins kitabxanasında fallback kimi təqdim olunub. Problem LLVM-in loop-idiom-wcslen keşinin optimizasiya zamanı wcslen çağırışlarını gətirməsindən qaynaqlanırdı, bəzi hədəflərdə isə bu funksiya nə libc-də, nə da başqa yerdə mövcud deyil. Xüsusilə, UEFI hədəfləri std istifadə edən hər hansı bir layihə üçün qırılırdı, çünki bəzi bu çağırışlar onsuz da öncədən tərtib edilmiş standart kitabxana daxilində idi, eyni problem istifadəçi kodunun nümunələrində də yarana bilərdi.
Qaytarılan dəyərlər və birləşdiricinin yüklənməsi
FFI vasitəsilə bool qaytaran Rust funksiyaları qaytarış reyestrindən 1-dən 7-yə qədər bitləri nəzərə almadan qoymağa imkan verirdi, bu da çağıranlara 0 və ya 1-dən başqa qəribə dəyərlər görmək imkanı verirdi. Qaytarış tipi indi ABI tələbi kimi yenidən sıfır ilə genişləndirmə üçün işarələnib.
Bundan əlavə, rust-lld macOS-da, kompilyator rustup proksisi olmadan çağırıldığında işə salına bilmirdi, çünki müvafiq kitabxana axtarış yolu üçün birbaşa parametr mövcud deyildi. Rust 1.99.1 indi rust-lld-ni libLLVM.dylib kitabxanası olan kataloqu göstərən rpath qeydi ilə qurur.
Yeniləmək və sınaqdan keçirmək üçün
Əvvəlki versiyanı rustup ilə qurdan istifadəçilər rustup update stable əmri ilə 1.99.1-ə keçə bilərlər. rustup-u olmayanlar isə Rust veb saytının müvafiq səhifəsindən endirə bilərlər. Rust buraxılış komandası həmçinin insanlara gələcək buraxılışları beta və nightly kanalları ilə lokal və CI mühitində sınaqdan keçirməyi və tapılan hər hansı bir xəta barədə məlumat verməyi təklif etdi. Komanda 1.99.1-ə töhfə verən hər kəsə təşəkkür edib və buraxılışın onlar olmadan mümkün olmayacağını söylədi.
Mənbələr: Lobsters
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.