Rust 1.93 er ankommet, her er hvad der er nyt

Indeks
  1. Rust Nyheder
    1. Version 1.930
    2. Forbedringer

Rust 1.93.0 er nu stabil med forbedret kompilatorsikkerhed, nye værktøjer til ydeevne og løsninger på netværksproblemer, hvilket gør versionen særdeles relevant for udviklere.

Rust 1.93.0 er nu stabil og blev udgivet i dag. Den fokuserer på at styrke kompilatorens sikkerhedsgarantier, samtidig med at den leverer essentielle nye værktøjer til præstationskritiske opgaver. Det er en solid udgivelse, der gør sproget mere modent inden for de mest relevante områder.

Hvis du bygger statiske binære filer til Linux (især på x86_64 eller aarch64), vil din netværksstabilitet få et stort løft. Rust 1.93 opdaterer den medfølgende musl-bibliotek til version 1.2.5, hvilket løser nogle langvarige problemer med DNS-opløsning i de ældre versioner. Dette er gode nyheder, hvis du bygger portable Linux-binære filer, der håndterer netværk, for det gør denne funktionalitet meget mere pålidelig.

Dette hjælper især, når man arbejder med store DNS-poster eller komplicerede rekursive navneservere. Musl-opdateringen fjernede nogle legacy kompatibilitetssymboler. Rust libc crate brugte disse symboler. Men en løsning blev udgivet for over to år siden, så de fleste moderne projekter bør ikke opleve problemer under opgraderingsprocessen.

Ved at tillade globale allokeringsfunktioner at tilgå tråd-lokalt lager, giver standardbiblioteket nu mulighed for sikkert at bruge funktioner som std::thread_local! uden at udløse reentrancy-problemer. For dem af jer, der skriver højt optimeret, lav-niveau kode, er den nye støtte til cfg attributter direkte på asm! linjer fremragende. Tidligere, hvis du ønskede at betinge inkludering af et par assembly-instruktioner baseret på målrelaterede funktioner, måtte du duplikere hele asm! blokken inden for betingede kompilationsudsagn.

Nu kan du anvende betinget kompilering, som #[cfg(target_feature = "sse2")], direkte på individuelle linjer af assembly eller begrænsninger inden for blokken. Dette gør det meget renere og lettere at vedligeholde at skrive platform-specifikke optimeringer.

Udgivelsen stabiliserer et stort antal API'er, hvilket giver udviklere nye værktøjer til styring af hukommelse og datastrukturer. Flere nye metoder til MaybeUninit skiver er nu stabile. Disse inkluderer assume_init_drop, assume_init_ref, og metoder som write_copy_of_slice. Disse giver granular kontrol over hukommelsessikkerhed ved håndtering af uinitialiserede buffere. Hvis du arbejder med FFI eller brugerdefineret hukommelsesstyring, vil du også sætte pris på, at String::into_raw_parts og Vec::into_raw_parts nu er officielle.

Dette lader dig dekonstruere disse samlinger til deres kernekomponenter som rå pegepinde, længder og kapaciteter. Performance-entusiaster vil sætte pris på stabiliseringen af ikke-kontrollerede heltalsoperationer som unchecked_neg, unchecked_shl, og unchecked_shr. Disse er afgørende for at skrive ekstremt hurtig, usikker kode, hvor udvikleren garanterer, at overflød eller ugyldige forskydninger ikke vil opstå.

Til daglig brug har VecDeque samlingen metoder som pop_front_if og pop_back_if. Dette giver brugerne mulighed for betinget at fjerne elementer fra enten enden af køen, hvilket gør kølogik meget enklere.

deref_nullptr lint, som fanger forsøg på at dereferere null pegepinde, er nu forbudt som standard. Dette er en meget velkommen ændring, da den hjælper med at fange kritiske sikkerhedsproblemer på kompileringstidspunktet snarere end under køretid. Nye advarsler blev også tilføjet, herunder function_casts_as_integer og const_item_interior_mutations. Disse hjælper med at håndhæve bedste praksisser og forhindrer subtile fejl relateret til indre mutabilitet inden for konstante genstande.

Miljøvariablen CARGO_CFG_DEBUG_ASSERTIONS er nu aktiveret i byggescripts baseret på den aktive profil. Dette giver bygget scripts mere kontekst om, hvordan koden bliver kompilret. Desuden understøtter cargo clean nu --workspace flaget, hvilket forenkler oprydning for store multi-pakke projekter. Hvis du ofte analyserer afhængighedsgrafer, understøtter cargo tree nu lange former for sine --format variabler, hvilket gør komplekse output lettere at tilpasse.

Der er meget at se i denne nye version, og du vil være glad for, at du opdaterede. Hvis du allerede har Rust installeret, kan du få opdateringen lige nu ved at køre rustup update stable.

Kilde: Rust (1)

Rust (2)

Rust Nyheder

Følgende er de seneste opdateringer i Rust.

Version 1.930

Den nye version blev udgivet den 22. januar 2026. Den inkluderer forbedringer af ydeevne og stabilitet.

Forbedringer

Flere funktioner er blevet tilføjet for at forbedre brugeroplevelsen.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Go up