Lanseringen av ny stabil versjon av det populære programmeringsspråket Rust 1.7.3, versjon der utviklerne fremhever endringer som gjør at "panikk" feilmeldinger kan nå vise en egendefinert melding, samt noen APIer er stabilisert, ulike forbedringer og mer.
For de som ikke er klar over dette programmeringsspråket, bør de vite det fokuserer på minnesikkerhet og gir midler for å oppnå høy parallellitet av jobber samtidig som man unngår bruk av en søppeloppsamler og kjøretid (kjøretiden reduseres til grunnleggende initialisering og standard bibliotekvedlikehold).
Rusts minnehåndteringsmetoder de sparer utvikleren fra feil ved manipulering av pekere og beskytter mot problemer som oppstår på grunn av minnehåndtering på lavt nivå, for eksempel tilgang til et minneområde etter at det har blitt frigjort, frareferanse til null-pekere, bufferoverløp osv.
De viktigste nye funksjonene i Rust 1.7.3
I denne nye versjonen som presenteres av Rust 1.7.3, som allerede nevnt i begynnelsen, er en av de mest bemerkelsesverdige nye funksjonene i denne utgivelsen redesignet i formatet til meldingene utstedt av "panikk!"-makroen, som er standard feilbehandler for programmet, som i utgangspunktet når en feil oppstår vil vise en melding på skjermen, tømme minnet og lukke programmet.
Med forbedringene introdusert i denne utgivelsen nå i den angitte teksten (som var standard) i panikkmakroen, nå vist på en egen linje uten anførselstegn, som gjør meldingen lettere å lese og eliminerer forvirring når det er nestede anførselstegn eller splittelser på flere linjer, har blitt forutsatt muligheten til å sette din egen melding inn i stedet for i anførselstegn. Videre panikkmeldinger produsert av assert_eq og assert_ne ble endret, flyttet den personlige meldingen og fjernet noen unødvendige skilletegn.
En annen endring som skiller seg ut i denne nye versjonen er basert på forslaget med RFC 3184 , der i utgangspunktet foreslår muligheten til å direkte manipulere lokale lagringsnøkler av tråder LocalKey, LocalKey > og LocalKey > ved å bruke get(), set(), take() og replace() metoder er lagt til, som eliminere behovet for ekstra initialiseringskode for standardverdier spesifisert for nye tråder ved å bruke "thread_local!"-makroen.
På den delen av forbedringer i Cargo, skiller det seg ut at muligheten til å skrive ut lastmiljøvariabler er lagt til kjør/benk/test i ekstra verbose modus -vv, samt viser nå pakkeversjoner i lastetider grafen og fast utskrift av flere advarselsmeldinger for ubrukte felt.
Av de andre endringene som skiller seg ut fra denne nye versjonen:
- Flyttet en ny del av API-en til den stabile kategorien, inkludert metoder og egenskapsimplementeringer.
- Kompilatoren gir logging av versjonsinformasjon i ".comment"-delen, lik GCC og Clang.
- Det tredje støttenivået er implementert for forskjellige plattformer. Det tredje nivået innebærer grunnleggende støtte, men uten automatisert testing, publisering av offisielle bygg og kontroll av kompilerbarheten til koden.
- Det andre støttenivået for målplattformen wasm32-wasi-preview1-threads er implementert. Det andre støttenivået innebærer en monteringsgaranti.
- Lagt til dokumentasjon om v0-symbolmanipulering.
Stabilisert ekstern "thiscall" og "thiscall-unwind" ABI. - Utleder type i ugjendrivelige skjæremønstre med fast lengde som matrise.
- Implikasjoner av standard automatiske egenskaper er nå utelukket hvis spesifikke eksisterer.
Lur interessert i å vite mer om det, kan du sjekke detaljene i følgende lenke.
Til slutt, for de som er det Interessert i å oppgradere fra en tidligere versjon av Rust installert via rustup, kan du få den nye versjonen av Rust 1.73.0 med:
rustup update stable
Hvis du ikke allerede har Rust installert på systemet ditt, kan du gjøre det ved å kjøre følgende kommando i en terminal:
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh