Rust 1.46 forritunarmálsútgáfa

birt útgáfu 1.46 af forritunarmáli kerfisins Ryð, stofnað af Mozilla verkefninu. Tungumálið einbeitir sér að minnisöryggi, veitir sjálfvirka minnisstjórnun og veitir verkfæri til að ná fram mikilli samsvörun verkefna án þess að nota sorphirðu og afturkreistingur.

Sjálfvirk minnisstjórnun Rust útilokar villur þegar verið er að meðhöndla ábendingar og verndar gegn vandamálum sem stafa af minni meðhöndlun á lágu stigi, eins og aðgangur að minnissvæði eftir að það hefur verið losað, frávísanir á núll bendi, offramkeyrsla á biðminni osfrv. Verið er að þróa pakkastjóra til að dreifa bókasöfnum, tryggja samsetningu og stjórna ósjálfstæði verkefnisins. Hleðsla, sem gerir þér kleift að fá þau bókasöfn sem þarf fyrir forritið með einum smelli. Geymsla er studd til að hýsa bókasöfn crates.io.

Helstu nýjungar:

  • Getu aðgerða sem skilgreind eru með orðatiltækinu „const fn“ hefur verið stækkað, sem hægt er að kalla ekki aðeins sem venjuleg föll, heldur einnig notuð í hvaða samhengi sem er í stað fasta. Þessar aðgerðir eru reiknaðar á tíma samantektar, ekki á keyrslutíma, þannig að þær eru háðar ákveðnum takmörkunum, svo sem hæfni til að lesa aðeins úr föstum.

    Nýja útgáfan fjarlægir bann við notkun Boolean rekstraraðila („&&“ og „||“) í slíkum aðgerðum og leyfir notkun „ef“, „ef látið“, „samsvörun“,
    „meðan“, „á meðan látið“ og „lykkja“, og veitir einnig möguleika á að breyta í sneiðar (sneið, kraftmikil fylki) með því að nota tjáninguna „&[T]“. Notkun þessara eiginleika í „const fn“ aðgerðunum gerir þér kleift að færa nokkrar auðlindafrekar aðgerðir á samantektarstigið. Til dæmis gerir útfærsla á "const-sha1" það mögulegt að reikna út SHA-1 kjötkássa á þýðingartíma, sem leiðir til þess að WinRT bindingar fyrir Rust flýta um næstum 40 sinnum.

  • Til að gera villuskilaboð meira upplýsandi hefur stuðningur við „#[track_caller]“ eiginleikann verið stöðugur, sem er gagnlegt fyrir aðgerðir eins og unwrap, sem getur valdið skelfingu ef tegundir eru rangar notaðar. Tilgreindur eiginleiki verður notaður af lætistjórnanda til að prenta staðsetningu þess sem hringir í villuboð.
  • „const“ eigindin, sem ákvarðar möguleikann á að nota hann í hvaða samhengi sem er í stað fasta, er notaður í std::mem::forget aðferðinni.
  • Nýr hluti af API hefur verið færður í stöðugan flokk, þar á meðal hinn stöðuga Option::zip og vec::Drain::as_slice.
  • Í pakkastjóra Cargo bætt við stuðningur fyrir nýjar umhverfisbreytur sem settar eru þegar pakka er sett saman: CARGO_BIN_NAME (nafn keyrsluskrár sem myndast), CARGO_CRATE_NAME (pakkanafn), CARGO_PKG_LICENSE (leyfi tilgreint í upplýsingaskrá), CARGO_PKG_LICENSE_FILE (slóð að leyfisskránni).

Heimild: opennet.ru

Bæta við athugasemd