Rust 1.35 programmeringssprog udgivelse

tog sted frigivelse af systemprogrammeringssprog Rust 1.35udviklet af Mozilla-projektet. Sproget fokuserer på sikker hukommelsesstyring, giver automatisk hukommelsesstyring og giver midlerne til at opnå høj jobparallelisme, mens man undgår brugen af ​​en skraldeopsamler og køretid.

Rusts automatiske hukommelseshåndtering sparer udvikleren for at manipulere pointere og beskytter mod problemer, der opstår som følge af manipulation af hukommelsen på lavt niveau, såsom adgang til et hukommelsesområde, efter at det er blevet frigivet, dereferencing af nul-pointere, bufferoverskridelser osv. For at distribuere biblioteker, sikre samling og administrere afhængigheder udvikler projektet en pakkemanager Last, som giver dig mulighed for at få de biblioteker, du skal bruge til programmet, med et enkelt klik. Et lager er understøttet til at være vært for biblioteker kasser.io.

The main innovationer:

  • Træk FnOnce, FnMut и Fn implementeret for heap-allokerede æske typer Box‹dyn FnOnce›, Box‹dyn FnMut› og Box‹dyn Fn›;
  • Tilføjet lejlighed støbning af lukninger til usikre funktionsvisere (usikker fn);
  • Implementeret evnen til at kalde makroen "dbg!" uden argumenter for at vise filnavnet og linjenummeret i stderr uden at inspicere variablen, hvilket er praktisk til at fejlsøge driften af ​​betingede udtryk;
  • Tilføjet metode " til flydende komma typer f32 og f64kopitegn» at kopiere et tegn fra et tal til et andet;
  • Tilføjet metode "indeholder", som giver dig mulighed for at kontrollere, om den angivne værdi er inden for området;
  • Tilføjet metode Ref:Cell:map_split, så du kan afspejle og adskille den lånte RefCell-værdi for forskellige komponenter af de lånte data;
  • Tilføjet metode RefCell::erstat_med at erstatte den nuværende RefCell-værdi og returnere den gamle værdi som resultatet;
  • Tilføjet metode ptr::hash at hash en pointer eller reference af en adresse i stedet for den adresserede værdi;
  • Tilføjet metode Option::kopieret for at kopiere indholdet af indstillingerne Option‹&T› eller Option‹&mut T›;
  • En ny del af API'er er blevet overført til den stabile kategori, inklusive metoder, der er blevet stabiliseret
    f32::kopitegn,
    f64::kopitegn,
    RefCell::erstat_med,
    RefCell::map_split,
    ptr::hash,
    Range::indeholder,
    RangeFrom::indeholder,
    RangeTo::indeholder,
    RangeInclusive::indeholder,
    RangeToInclusive::indeholder og
    Option::kopieret;

  • Tilføjet drop_bounds check til clippy (linter), som udløses, når der tilføjes en "T: Drop"-binding til funktionen;
  • Compileren har tilføjet understøttelse af en ny målplatform
    wasm32-unknown-wasi (grænseflade VAR JEG at bruge WebAssembly uden for browseren);

  • Rust-værktøjssættet er tilpasset til distributioner baseret på standard C-biblioteket Musl.

Kilde: opennet.ru

Tilføj en kommentar