Geri qayıt

Rust 1.100.0 buraxıldı: never tipi, allocator API və Cargo dəyişiklikləri
SiTech AI Team2 dəq oxu

Rust 1.100.0 buraxıldı: never tipi, allocator API və Cargo dəyişiklikləri

Rust 1.100.0 rustup vasitəsilə əlçatandır və never tipini, allocator API hissələrini, DropGuard-u, Cargo-nun istifadəsiz asılılıq xəbərdarlıqlarını, qurma keşi dəyişikliklərini və minimum nəşr yaşı həllini stabil edir.

Rust 1.100.0 indi rustup update stable vasitəsilə əlçatandır. Bu buraxılış never tipini, core allocator API hissələrini, core::mem::DropGuard-u, core::mem::conjure_zst-i və istifadəsiz asılılıq hesabatı, qurma kataloqu sxemi dəyişiklikləri və minimum nəşr yaşı yoxlamaları daxil olmaqla bir neçə Cargo xüsusiyyətini stabil edir.

Never tipi stabil vəziyyətə çatdı

10 il və beş uğursuz stabilizasiya cəhdindən sonra ! işarəsi ilə yazılan never tipi stabil oldu. O, sona çatmayan hesablamalar üçün kanonik boş tipdir və istənilən başqa tipə çevrilə bilər. Bu buraxılış həmçinin ! işarəsini istənilən yerdə, o cümlədən Result daxilində adlandırmağa imkan verir və Infallible-i never tipinin ləqədinə (alias) çevirir. 2024-dən əvvəlki nəşrlərdə never tipinin ehtiyat tipi ()-dən !-ə dəyişir; bu, nadir kodlara təsir edə və daha çox kodu əlçatmaz kimi göstərə bilər.

Allocator API və DropGuard

Rust 1.100.0 allocator_api-nin əsas hissələrini stabil edir və Allocator trait-i vasitəsilə Vec və Box ilə xüsusi allocator-lara imkan verir. Buraxılış həmçinin silindikdə closure işlədən və destructor-u işlətmədən qorunan dəyişəni qaytarmaq üçün dismiss dəstəkləyən core::mem::DropGuard-u təqdim edir. core::mem::conjure_zst sıfır ölçülü tiplərin dəyərlərini yaratmaq üçün xüsusi unsafe yol təqdim edir.

Cargo təkmilləşdirmələri

Cargo indi [lints.cargo] cədvəli ilə idarə olunan istifadəsiz asılılıqları bildirir; xəbərdarlıqlar bütün mümkün qurma hədəfləri qurulduqda görünür. İstifadəsiz dev-dependencies üçün xəbərdarlıq göstərilmir. Qurma kataloqu indi qurma addımları ətrafında kataloqları təşkil edərək və hash-i ana kataloqa köçürərək qurma konfiqurasiya hash-ini ardıcıl şəkildə tətbiq edir. Cargo həmçinin minimum nəşr yaşı həllini stabil edir; bu, istifadəçilərə .cargo/config.toml faylında global-min-publish-age təyin etməyə və konfiqurasiya edilmiş yaşdan daha yaxın zamanda nəşr olunmuş versiyaları keçməyə imkan verir. cargo install quraşdırılan crate və onun asılılıqları üçün bu ayarı nəzərə almır.

Stabil edilmiş API-lər və digər dəyişikliklər

Bu buraxılış Box::new_in, Vec::new_in, Child::main_thread_handle, bool::toggle, Box::take, Box::map, Rc::map, Arc::map, str və slice trim köməkçiləri, Path::trim_prefix, Vec::from_fn və buraxılış qeydlərində sadalanan digərləri daxil olmaqla çox sayda stabil API əlavə edir. Rust, Cargo və Clippy-dəki dəyişikliklər ayrıca sənədləşdirilib və Rust komandası töhfə verənlərə təşəkkür edib.

Mənbələr: blog.rust-lang.org

SiTech

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.