Rust 1.69 Proqramlaşdırma Dili Buraxılışı

Mozilla layihəsi tərəfindən əsası qoyulmuş, lakin indi Rust Foundation müstəqil qeyri-kommersiya təşkilatının himayəsi altında hazırlanmış Rust 1.69 ümumi məqsədli proqramlaşdırma dilinin buraxılışı dərc edilmişdir. Bu dil yaddaşın təhlükəsizliyinə diqqət yetirir və zibil toplayıcıdan və işləmə müddətindən istifadə etmədən yüksək iş paralelliyinə nail olmaq üçün vasitələr təqdim edir (iş vaxtı standart kitabxananın əsas işə salınması və saxlanmasına qədər azaldılır).

Rust-un yaddaşla işləmə üsulları tərtibatçını göstəricilərlə manipulyasiya edərkən xətalardan xilas edir və yaddaşın aşağı səviyyəli işləməsi nəticəsində yaranan problemlərdən qoruyur, məsələn, yaddaş sahəsi boşaldıqdan sonra ona daxil olmaq, sıfır göstəricilərə istinad etmək, bufer aşmaq və s. Kitabxanaları yaymaq, qurmaları təmin etmək və asılılıqları idarə etmək üçün layihə Yük paketi meneceri hazırlayır. Crates.io deposu kitabxanaların yerləşdirilməsi üçün dəstəklənir.

Yaddaşın təhlükəsizliyi Rust-da kompilyasiya zamanı istinad yoxlaması, obyekt sahibliyinin izlənməsi, obyektin istifadə müddətinin (əhatə dairələrinin) izlənməsi və kodun icrası zamanı yaddaşa girişin düzgünlüyünün qiymətləndirilməsi vasitəsilə təmin edilir. Rust həmçinin tam ədədlərin daşmasına qarşı qorunma təmin edir, istifadə etməzdən əvvəl dəyişən dəyərlərin məcburi işə salınmasını tələb edir, standart kitabxanada səhvləri daha yaxşı idarə edir, dəyişməz istinadlar və dəyişənlər konsepsiyasını standart olaraq tətbiq edir, məntiqi səhvləri minimuma endirmək üçün güclü statik yazma təklif edir.

Əsas yeniliklər:

  • Yük paketi meneceri avtomatik həll edilə bilən xəbərdarlıqların aşkarlanmasını və "yük düzəltmə" və ya "yük klipi --fix"i işə salmaq üçün müvafiq tövsiyələri həyata keçirir. xəbərdarlıq: istifadə olunmamış idxal: 'std::hash::Hash' --> src/main.rs:1:5 | 1 | std::hash::hash istifadə edin; | ^^^^^^^^^^^^^^^| = qeyd: '#[warn(unused_imports)]' defolt olaraq açıqdır: 'foo' (bin "foo") 1 xəbərdarlıq yaratdı (1 təklifi tətbiq etmək üçün 'cargo fix --bin "foo"'nu işə salın)
  • "Kargo quraşdırma" əmri ilə kitabxana quraşdırmaq istəyərkən "yük əlavə et" əmrindən istifadə etmək tövsiyəsini göstərmək üçün Yük əlavə edildi.
  • Kompilyasiya vaxtını azaltmaq üçün quraşdırma skriptlərində sazlama məlumatı defolt olaraq qeyri-aktiv edilib. Quraşdırma skriptləri müvəffəqiyyətlə işləsə, dəyişiklik heç bir görünən fərq yaratmayacaq, lakin uğursuz olarsa, geri izləmə zibilində daha az məlumat olacaq. Köhnə davranışı Cargo.toml-a qaytarmaq üçün əlavə edin: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • API-nin yeni hissəsi stabillər kateqoriyasına köçürüldü, o cümlədən xüsusiyyətlərin üsulları və tətbiqləri stabilləşdirildi:
    • CStr::from_bayt_a qədər
    • core::ffi::FromBytesUntilNulError
  • Onun sabitlər əvəzinə istənilən kontekstdə istifadə imkanını təyin edən "const" atributundan funksiyalarda istifadə olunur:
    • SocketAddr::yeni
    • SocketAddr::ip
    • SocketAddr::port
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4 :: yeni
    • SocketAddrV4::ip
    • SocketAddrV4::port
    • SocketAddrV6 :: yeni
    • SocketAddrV6::ip
    • SocketAddrV6::port
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • Kompilyator arqumentlərində doğru və yanlış bayraqlardan istifadə etmək imkanı əlavə edildi.

Mənbə: opennet.ru

Добавить комментарий