Rust 1.62 forritunarmálsútgáfa

Útgáfa Rust 1.62 almennt forritunarmálsins, stofnað af Mozilla verkefninu, en nú þróað undir merkjum óháðu sjálfseignarstofnunarinnar Rust Foundation, hefur verið gefin út. Tungumálið leggur áherslu á minnisöryggi og veitir leiðina til að ná mikilli samhliða vinnu á sama tíma og forðast notkun á sorphirðu og keyrslutíma (keyrslutími minnkar í grunnuppsetningu og viðhald á venjulegu bókasafni).

Minni meðhöndlunaraðferðir Rust bjarga þróunaraðilanum frá villum við meðhöndlun ábendinga og vernda gegn vandamálum sem koma upp vegna minnis meðhöndlunar á lágu stigi, eins og aðgangur að minnissvæði eftir að það hefur verið losað, frávísun núllbenda, offramkeyrsla á biðminni o.s.frv. Til að dreifa bókasöfnum, útvega smíði og stjórna ósjálfstæði, þróar verkefnið farmpakkastjórann. Crates.io geymslan er studd til að hýsa bókasöfn.

Minni öryggi er veitt í Rust á þýðingu tíma með tilvísun athugun, halda utan um eignarhald hlut, halda utan um líftíma hlut (umfang) og meta réttmæti minni aðgangs meðan kóða er keyrt. Ryð veitir einnig vernd gegn heiltöluflæði, krefst skyldubundinnar frumstillingar breytugilda fyrir notkun, meðhöndlar villur betur í stöðluðu bókasafni, beitir hugmyndinni um óbreytanlegar tilvísanir og breytur sjálfgefið, býður upp á sterka truflanir innsláttar til að lágmarka rökfræðilegar villur.

Helstu nýjungar:

  • „cargo“ pakkastjórinn býður upp á „add“ skipunina, sem gerir þér kleift að bæta nýjum ósjálfstæði við Cargo.toml upplýsingaskrána eða breyta núverandi ósjálfstæði frá skipanalínunni. Skipunin gerir þér einnig kleift að tilgreina einstaka eiginleika og útgáfur, til dæmis: cargo add serde —features derivat cargo add nom@5
  • Bætti við möguleikanum á að nota „#[afleiða(sjálfgefið)]“ með upptalningum þar sem sjálfgefinn valkostur er skilgreindur með „#[sjálfgefið]“ eigindinni. #[leiða(Sjálfgefið)] enum Kannski { #[sjálfgefið] Ekkert, eitthvað(T), }
  • Á Linux pallinum er notast við fyrirferðarmeiri og hraðari útfærslu á Mutex samstillingarbúnaðinum, byggt á notkun futexes sem Linux kjarnann gefur. Ólíkt áður notuðum útfærslu sem byggir á pthreads bókasafninu, notar nýja útgáfan aðeins 5 bæti í stað 40 til að geyma Mutex ástandið. Á sama hátt hafa Condvar og RwLock læsingarkerfin verið flutt yfir í futex.
  • Annað stig stuðnings fyrir x86_64-unknown-none markvettvang hefur verið innleitt, hannað til að búa til keyranlegar skrár sem geta virkað án stýrikerfis. Til dæmis er hægt að nota tilgreindan markvettvang þegar þú skrifar kjarnahluta. Annað stig stuðnings felur í sér samsetningarábyrgð.
  • Þriðja stig stuðnings hefur verið innleitt fyrir aarch64-pc-windows-gnullvm og x86_64-pc-windows-gnullvm pallana. Þriðja stigið felur í sér grunnstuðning, en án sjálfvirkrar prófunar, útgáfu opinberra smíða eða athuga hvort hægt sé að smíða kóðann.
  • Nýr hluti af API hefur verið færður í flokkinn stöðugt, þar með talið aðferðir og útfærslur á eiginleikum hafa verið stöðugar:
    • bool::þá_sumir
    • f32::total_cmp
    • f64::total_cmp
    • Stdin::línur
    • windows::CommandExt::raw_arg
    • impl sjálfgefið gildi fyrir AssertUnwindSafe
    • Frá > fyrir Rc
    • Frá > fyrir Arc<[u8]>
    • FusedIterator fyrir EncodeWide

    Heimild: opennet.ru

Bæta við athugasemd