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

Baş verdi sistem proqramlaşdırma dili buraxılışı Pas 1.35, Mozilla layihəsi tərəfindən hazırlanmışdır. Bu dil yaddaşın təhlükəsizliyinə diqqət yetirir, avtomatik yaddaş idarəetməsini təmin edir və zibil toplayıcıdan və ya iş vaxtından istifadə etmədən yüksək tapşırıq paralelliyinə nail olmaq üçün bir vasitə təqdim edir.

Rust-un avtomatik yaddaş idarəçiliyi tərtibatçını göstəricilərin manipulyasiyasından azad edir və boş yaddaşa daxil olma, boş göstəricidən imtina, buferin aşılması və s. kimi aşağı səviyyəli yaddaş manipulyasiyasından yaranan problemlərdən qoruyur. Kitabxanaları yaymaq, montajı təmin etmək və layihə tərəfindən asılılıqları idarə etmək üçün paket meneceri hazırlanır. Yük, proqram üçün lazım olan kitabxanaları bir kliklə əldə etməyə imkan verir. Kitabxanaların saxlanması üçün repozitoriya dəstəklənir crates.io.

Əsas yeniliklər:

  • Xüsusiyyətlər FnOnce, FnMut и Fn yığın ayrılmış üçün həyata keçirilir qutulu növlər Box‹dyn FnOnce›, Box‹dyn FnMut› və Box‹dyn Fn›;
  • Əlavə edilib imkan təhlükəli funksiya göstəricilərinə qapaqların ötürülməsi (təhlükəsiz fn);
  • Makronu “dbg!” adlandırmaq imkanı tətbiq edildi. şərti ifadələrin işini sazlamaq üçün əlverişli olan dəyişəni yoxlamadan stderr-də fayl adını və sətir nömrəsini göstərmək üçün arqumentlər olmadan;
  • F32 və f64 üzən nöqtə növlərinə " metodu əlavə edildisurəti işarəsi» simvolu bir nömrədən digərinə köçürmək;
  • Əlavə edilmiş üsul "ehtiva“, göstərilən dəyərin diapazonda olub olmadığını yoxlamağa imkan verir;
  • Əlavə edilmiş üsul Ref:Hüceyrə:map_split, borc götürülmüş məlumatların müxtəlif komponentləri üçün götürülmüş RefCell dəyərini əks etdirməyə və ayırmağa imkan verir;
  • Əlavə edilmiş üsul RefCell::replace_ilə cari RefCell dəyərini əvəz etmək və nəticədə köhnə dəyəri qaytarmaq;
  • Əlavə edilmiş üsul ptr :: hash göstəricini və ya istinadı ünvanlanmış dəyərdən daha çox ünvana həşləmək;
  • Əlavə edilmiş üsul Seçim::kopyalandı Seçim‹&T› və ya Seçim‹&mut T› seçimlərinin məzmununu kopyalamaq üçün;
  • API-lərin yeni hissəsi stabilləşdirilmiş üsullar da daxil olmaqla stabil kateqoriyaya köçürüldü
    f32::copysign,
    f64::copysign,
    RefCell::əvəz edin,
    RefCell::map_split,
    ptr :: hash,
    Aralığı:: ehtiva edir,
    RangeFrom:: ehtiva edir,
    RangeTo:: ehtiva edir,
    RangeInclusive:: ehtiva edir,
    RangeToInclusive:: ehtiva edir və
    Seçim::kopyalandı;

  • Funksiyaya “T: Drop” bağlaması əlavə edildikdə işə salınan clippy-ə (linter) açılan_bounds yoxlanışı əlavə edildi;
  • Kompilyator yeni hədəf platforması üçün dəstək əlavə etdi
    wasm32-naməlum-wasi (interfeys MƏN İDİM brauzerdən kənarda WebAssembly istifadə etmək);

  • Rust alət dəsti standart C kitabxanası Musl əsasında paylamalar üçün uyğunlaşdırılmışdır.

Mənbə: opennet.ru

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