Rust 1.71 kommer med stabiliseringsforbedringer og mer

rust logo

Rust er et multiparadigme, kompilert programmeringsspråk for generell bruk.

For noen dager siden ble det annonsert ny versjonsutgivelse av det populære programmeringsspråket «Rust 1.71", versjon hvor et stort antall APIer er stabilisert, samt ulike seksjoner, forbedringer og mange flere ting er introdusert.

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. For å distribuere biblioteker, tilby builds og administrere avhengigheter, utvikler prosjektet Cargo-pakkebehandleren.

De viktigste nye funksjonene i Rust 1.71

I denne nye versjonen som kommer fra Rust 1.71 Det fremheves at ABI ekstern "C-unwind" ble stabilisert, som skiller seg fra ABI uten suffikset "-unwind" ("ekstern "C") ved å opprettholde sikker oppførsel hvis avviklingsprosessen initieres av et programkrasj eller kast av et stilunntak C++ krysser en ABI-grense. Det skal bemerkes at en fremtidig utgivelse av Rust vil se ut til å modifisere disse ABI-ene for å matche den spesifiserte oppførselen som en siste del av stabiliseringen av denne funksjonen.

En annen av endringene som skiller seg ut er stabilisert støtte for attributter '#[debug_visualizer(natvis_file = «...»)]' og '#[debug_visualizer(gdb_script_file = «...»)]', hva sTillat innebygging av Microsoft Natviz-metadata og GDB-skript i Rust-biblioteker for å forbedre feilsøkingsutdata ved inspeksjon av datastrukturer opprettet av biblioteker. Slike skript er allerede inkludert for standardbiblioteket, og det er nå mulig å inkludere dem for tredjepartsbiblioteker.

I tillegg til dette fremheves det også at Cargo optimerer bruken under rustup Når Cargo oppdager at rustc vil bli utført og peker på en Rustup proxy, vil den forsøke å omgå proxyen og bruke den underliggende binæren direkte. Det er antakelser om interaksjonen med rustup og RUSTUP_TOOLCHAIN. Det forventes imidlertid ikke å påvirke vanlige brukere.

Videre på Windows er det mulig å bruke funksjoner fra dynamiske biblioteker som ikke er tilgjengelige på kompileringstidspunktet (for eksempel for å unngå å installere unødvendige biblioteker i byggemiljøet og for å forenkle krysskompilering).

Det fremheves også at tredje nivå støtte for plattform x86_64 h-apple-darwin. Det tredje nivået innebærer grunnleggende støtte, men uten automatisert testing, utgivelse av offisielle bygg og verifisering av muligheten til å kompilere koden.

Av de andre endringene som skiller seg ut i denne nye versjonen:

  • Målplattformer som bruker Musl C-biblioteket har blitt migrert til Musl versjon 1.2.3 (tidligere versjon 1.1.24 ble brukt), som tillater bruk av time64-typen på 32-bits systemer.
  • Standardbiblioteket gir en variant av thread_local-makroen som er initialisert med "const"-attributtet, som kan brukes i kontekst i stedet for konstanter, slik at du kan generere mer optimal kode.
  • En ny del av API har blitt flyttet til stabil, inkludert metodene og egenskapsimplementeringene som er stabilisert:
  • "const"-attributtet, som bestemmer muligheten for å bruke i enhver kontekst i stedet for konstanter, brukes i funksjoner:
  • Cargo-pakkebehandlingen lar deg spesifisere alternativer kalt debuginfo i Cargo.toml-filen.
  • Flatten-format-args er aktivert som standard.
  • Rust støtter også kobling til DLL-leverte symboler med ordinal i stedet for navngitt symbol, ved å bruke det nye #[link_ordinal]-attributtet.
  • La til workspace_default_members-alternativet til metadata. Når du utfører kommandoene "cargo new" og "cargo init", blir feltene i arbeidsområdet automatisk arvet.
  • Støtte på andre nivå er implementert for loongarch64-unknown-linux-gnu-målplattformen.

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.71.0 med:

rustup update stable


Legg igjen kommentaren

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

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.