Rust er et multiparadigme, kompilert programmeringsspråk for generell bruk.
Den nye versjonen av Rust 1.78 er allerede utgitt og nye funksjoner er implementert, samt stabilisering av noen APIer, forbedringer i Cargo 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).
De viktigste nye funksjonene i Rust 1.78
I denne nye versjonen presentert av Rust 1.78 har økt minimumskravet for Windows 10, Utenom det kompilatoren ble endret til å bruke LLVM 18. Når du bruker LLVM 18 for x86-32- og x86-64-arkitekturer, er ABI knyttet til u128- og i128-typene endret.
Når det gjelder endringene, er en av egenskapene som skiller seg ut at Rust støtter nå et navneområde for attributter «#[diagnose]", hva gir et middel til å påvirke feilmeldingene som produseres av kompilatoren. Disse blir behandlet som hint som kompilatoren ikke er pålagt å bruke, og det er heller ikke en feil å gi en diagnostikk som kompilatoren ikke gjenkjenner. Dette lar kildekoden gi diagnostikk selv når de ikke støttes av alle kompilatorer, enten det er forskjellige versjoner eller helt forskjellige implementeringer.
Videre en global cache er stabilisert i Cargo som lagrer informasjon om den nyeste databruken. Denne cachen er plassert i $CARGO_HOME/.global-cache og bruker SQLite for implementeringen. Den oppdateres automatisk for å gjenspeile de siste endringene i indeksen, kassen, kodekatalogen, git-klonen og git-kassen, og forbedrer effektiviteten og hastigheten til avhengighetsstyringsoperasjoner i utviklingsprosjekter.
En annen ny funksjon i Rust 1.78 er at Rust-standardbiblioteket har Ulike uttalelser for forutsetninger for usikre funksjoner som nå kan utsettes til kodegenerering. Dette gjør at disse kontrollene kan utføres historisk sett hadde de bare vært aktivert i bygg «#[cfg(debug_assertions)]» for å unngå å påvirke ytelsen i utgivelsesversjonen. Med denne endringen kan brukere nå oppdage udefinert atferd i koden deres, selv om detaljer om hvor mye som sjekkes generelt ikke er stabile. For å aktivere kontroller er det nå tilstrekkelig å aktivere feilsøkingspåstander for test- eller feilsøkingsbygg av koden.
I tillegg til det nå oppførselen til standard bibliotekfunksjoner som påvirker justeringen av pekere og sektorer den er nå forutsigbar under kjøring og avhenger av inndataene. Funksjonen pointer::align_offset, som beregner forskyvningen for å justere pekeren, returnerer nå bruk::MAX bare hvis operasjonen mislykkes. Funksjonene slice::align_to og slice::align_to_mut, som transformerer stykker til en representasjon med en justert midtre skive og de opprinnelige start- og sluttstykkene, returnerer nå alltid den største midtre delen.
På den annen side nevnes det Følgende API-er er flyttet til kategorien "stabil".: impl Les for &Stdin, impl Fra for io::Feil og gjennomføringen impl som tillater bruk av ?Størrelse.
Av Andre endringer som skiller seg ut av denne nye versjonen:
- Det andre støttenivået for Add wasm32-wasip1-målplattformen er implementert. Det andre støttenivået innebærer en monteringsgaranti.
- Wasm32-wasi-preview1-threads-plattformen har fått nytt navn til wasm32-wasip1-threads.
- I Cargo package manager er versjon 4 av låsfilene (lockfile v4) stabilisert. Cargo bruker nå denne versjonen som standard for å sikre konsistens og effektiv styring av avhengigheter på tvers av prosjekter.
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.78 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