ipata 1.62 Siseto ede Tu

Itusilẹ ti ede siseto gbogboogbo-idi Rust 1.62, ti o da nipasẹ iṣẹ akanṣe Mozilla, ṣugbọn ni bayi ni idagbasoke labẹ awọn atilẹyin ti ominira ti kii ṣe èrè agbari Rust Foundation, ti ṣe atẹjade. Ede naa dojukọ aabo iranti ati pese awọn ọna lati ṣaṣeyọri isọdọkan iṣẹ giga lakoko ti o yago fun lilo ikojọpọ idoti ati akoko asiko (akoko asiko ti dinku si ipilẹṣẹ ipilẹ ati itọju ile-ikawe boṣewa).

Awọn ọna mimu iranti Rust ṣe igbala awọn olupilẹṣẹ lati awọn aṣiṣe nigbati o ba ni ifọwọyi awọn itọka ati daabobo lodi si awọn iṣoro ti o dide nitori mimu iranti ipele kekere, gẹgẹbi iraye si agbegbe iranti lẹhin ti o ti ni ominira, piparẹ awọn itọka asan, awọn ifasilẹ ifipamọ, ati bẹbẹ lọ. Lati kaakiri awọn ile-ikawe, pese awọn kikọ ati ṣakoso awọn igbẹkẹle, iṣẹ akanṣe n ṣe idagbasoke oluṣakoso package Ẹru. Ibi ipamọ crates.io jẹ atilẹyin fun awọn ile-ikawe alejo gbigba.

Ailewu iranti ti pese ni ipata ni akoko iṣakojọ nipasẹ ṣiṣe ayẹwo itọkasi, ṣiṣe itọju ohun-ini ohun, titọju awọn igbesi aye ohun (awọn iwọn), ati iṣiro deede wiwọle iranti lakoko ṣiṣe koodu. Ipata tun pese aabo lodi si ṣiṣan odidi odidi, nilo ipilẹṣẹ dandan ti awọn iye oniyipada ṣaaju lilo, mu awọn aṣiṣe dara julọ ni ile-ikawe boṣewa, lo imọran ti awọn itọkasi ailagbara ati awọn oniyipada nipasẹ aiyipada, nfunni titẹ aimi to lagbara lati dinku awọn aṣiṣe ọgbọn.

Awọn imotuntun akọkọ:

  • Oluṣakoso package “ẹru” nfunni ni aṣẹ “fikun-un”, eyiti o fun ọ laaye lati ṣafikun awọn igbẹkẹle tuntun si ifihan Cargo.toml tabi yi awọn igbẹkẹle ti o wa tẹlẹ lati laini aṣẹ. Aṣẹ naa tun gba ọ laaye lati pato awọn ẹya ara ẹni kọọkan ati awọn ẹya, fun apẹẹrẹ: cargo add serde — awọn ẹya ti o nfa ẹru add nom@5
  • Ṣe afikun agbara lati lo “#[itọkasi (aiyipada)]” pẹlu awọn enums ninu eyiti aṣayan aiyipada ti wa ni asọye nipa lilo abuda “#[aiyipada]”. #[iyọ (Iyipada)] enum Boya {#[aiyipada] Ko si nkankan, Nkankan (T), }
  • Lori pẹpẹ Linux, iwapọ diẹ sii ati imuse yiyara ti ẹrọ amuṣiṣẹpọ Mutex ni a lo, da lori lilo awọn futexes ti a pese nipasẹ ekuro Linux. Ko dabi imuse ti a lo tẹlẹ ti o da lori ile-ikawe pthreads, ẹya tuntun nlo awọn baiti 5 nikan dipo 40 lati tọju ipo Mutex. Bakanna, awọn ọna titiipa Condvar ati RwLock ti gbe lọ si futex.
  • Ipele keji ti atilẹyin fun x86_64-unknown-ko si iru ẹrọ ibi-afẹde ti a ti ṣe imuse, ti a ṣe lati ṣe ina awọn faili ṣiṣe ti o le ṣiṣẹ laisi ẹrọ ṣiṣe. Fun apẹẹrẹ, pẹpẹ ibi-afẹde pàtó le ṣee lo nigba kikọ awọn paati ekuro. Ipele keji ti atilẹyin jẹ iṣeduro apejọ kan.
  • Ipele kẹta ti atilẹyin ti ni imuse fun aarch64-pc-windows-gnullvm ati x86_64-pc-windows-gnullvm iru ẹrọ. Ipele kẹta jẹ atilẹyin ipilẹ, ṣugbọn laisi idanwo adaṣe, titẹjade awọn ile-iṣẹ osise, tabi ṣayẹwo boya koodu naa le kọ.
  • Apa tuntun ti API ni a ti gbe si ẹka ti iduroṣinṣin, pẹlu awọn ọna ati awọn imuse ti awọn abuda ti jẹ imuduro:
    • bool :: lẹhinna_diẹ ninu
    • f32 :: lapapọ_cmp
    • f64 :: lapapọ_cmp
    • Stdin :: awọn ila
    • windows :: CommandExt :: raw_arg
    • impl aiyipada iye fun AssertUnwindSafe
    • Lati > fun Rc
    • Lati > fun Arc<[u8]>
    • FusedIterator fun EncodeWide

    orisun: opennet.ru

Fi ọrọìwòye kun