Rust 1.93 har kommet, her er hva som er nytt

Rust 1.93.0 er nå stabil med forbedret sikkerhet og nye verktøy for ytelseskritiske oppgaver, samt oppdateringer som øker nettverksstabilitet og effektiv kodehåndtering.

Rust 1.93.0 er nå stabilt og ble utgitt i dag. Versjonen fokuserer på å styrke kompilatorens sikkerhetsgarantier, samtidig som den tilbyr avgjørende nye verktøy for ytelseskritiske oppgaver. Det er en solid utgivelse som får språket til å virke mer modent innen områder som betyr mest.

Hvis du bygger statiske binære programmer for Linux (spesielt på x86_64 eller aarch64), vil nettverksstabiliteten din få et stort løft. Rust 1.93 hever den inkluderte musl-biblioteket til versjon 1.2.5, som løser noen langvarige problemer med DNS-oppløsing i de eldre versjonene. Dette er gode nyheter hvis du bygger portable Linux-binære som håndterer nettverk, fordi det gjør den funksjonaliteten mye mer pålitelig.

Dette er spesielt nyttig når man jobber med store DNS-poster eller kompliserte rekursive navneservere. Musl-oppdateringen fjernet noen legacy-kompatibilitetssymboler. Rust libc-crate brukte disse symbolene. Imidlertid ble det levert en løsning for dette problemet for over to år siden, så de fleste moderne prosjekter bør ikke oppleve noen problemer under oppgraderingsprosessen.

Ved å tillate globale allokerere å få tilgang til tråd-lokal lagring, lar standardbiblioteket deg nå trygt bruke funksjoner som std::thread_local! uten å utløse re-entrancy-problemer. For dere som skriver høyt optimalisert, lavnivåkode, er den nye støtten for cfg-attributter direkte på asm!-linjer fantastisk. Tidligere, hvis du ønsket å betinge inkludering av noen få assembler-instruksjoner basert på mål-funksjoner, måtte du duplisere hele asm!-blokken inne i betingede kompilasjonssetninger.

Nå kan du bruke betinget kompilasjon, som #[cfg(target_feature = "sse2")], direkte på individuelle linjer med assembler eller begrensninger inne i blokken. Dette gjør skrivingen av plattformspesifikke optimaliseringer mye renere og lettere å vedlikeholde.

Utgivelsen stabiliserer et stort antall API-er, og gir utviklere nye verktøy for å håndtere minne og datastrukturer. Flere nye metoder for MaybeUninit-skiver er nå stabile. Disse inkluderer assume_init_drop, assume_init_ref, og metoder som write_copy_of_slice. Disse gir granulær kontroll over minnesikkerhet når man arbeider med uinitialiserte buffere. Hvis du jobber med FFI eller tilpasset minnehåndtering, vil du også sette pris på at String::into_raw_parts og Vec::into_raw_parts nå er offisielle.

Denne funksjonaliteten lar deg dekonstruere disse samlingene ned til sine kjernekomponenter som rå pekere, lengder og kapasiteter. Ytelsesbeskjærere vil sette pris på stabiliseringen av ukontrollerte heltallsoperasjoner som unchecked_neg, unchecked_shl, og unchecked_shr. Disse er avgjørende for å skrive ekstremt rask, usikker kode der utvikleren garanterer at overflyt eller ugyldige skift ikke vil skje.

For daglig bruk har VecDeque-samlingen metoder som pop_front_if og pop_back_if. Dette lar brukere betinge fjerning av elementer fra enten enden av køen, noe som gjør kølogikk mye enklere.

deref_nullptr-linten, som fanger opp forsøk på å dereferere nullpekere, er nå nektet som standard. Dette er en svært velkommen endring da det bidrar til å fange kritiske sikkerhetsproblemer ved kompileringstid, snarere enn under kjøretid. Nye advarsler er også lagt til, inkludert function_casts_as_integer og const_item_interior_mutations. Disse bidrar til å håndheve beste praksis og forhindre subtile feil relatert til indre mutabilitet innen konstant gjenstander.

Miljøvariabelen CARGO_CFG_DEBUG_ASSERTIONS er nå aktivert i byggeskript basert på den aktive profilen. Dette gir byggeskriptene mer kontekst om hvordan koden blir kompilert. I tillegg støtter cargo clean--workspace-flagget, som forenkler opprydding for store flerpakke-prosjekter. Hvis du ofte analyserer avhengighetsdiagrammer, støtter cargo tree nå lange former for sine --format-variabler, noe som gjør komplekse utdata lettere å tilpasse.

Det er mye å oppdage i denne nye versjonen, og du vil bli glad for at du oppgraderte. Hvis du allerede har Rust installert, kan du få oppdateringen akkurat nå ved å kjøre rustup update stable.

Kilde: Rust (1)

Rust (2)

Nyheter i Rust

Rust har gjennomgått mange spennende oppdateringer nylig. Hver versjon bringer med seg nye funksjoner og forbedringer som gjør programmering mer effektivt.

Forbedringer i Versjon 1.30

I versjon 1.30 ble det introdusert flere betydelige forbedringer, inkludert ytelsesoptimaliseringer og bedre støtte for verktøy. Dette gjør det lettere for utviklere å bygge robuste applikasjoner.

Nye Funksjoner

Vi har også fått nye funksjoner som øker produktiviteten. Med utvidelser i standardbiblioteker kan du nå håndtere oppgaver på en mer intuitiv måte.

Hvis du vil lese flere artikler som Rust 1.93 har kommet, her er hva som er nytt, kan du besøke kategorien Applikasjoner.

Index
  1. Nyheter i Rust
    1. Forbedringer i Versjon 1.30
    2. Nye Funksjoner

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Go up