Lansarea limbajului de programare Rust 1.35

a avut loc lansarea limbajului de programare a sistemului Rugina 1.35, dezvoltat de proiectul Mozilla. Limbajul se concentrează pe siguranța memoriei, oferă o gestionare automată a memoriei și oferă un mijloc de a obține un paralelism ridicat al sarcinilor fără a utiliza un colector de gunoi sau un timp de rulare.

Gestionarea automată a memoriei Rust eliberează dezvoltatorul de manipularea pointerului și protejează împotriva problemelor care decurg din manipularea memoriei de nivel scăzut, cum ar fi accesările la memorie după eliberarea, dereferențele pointerului nul, depășirile de buffer și altele asemenea. Se dezvoltă un manager de pachete pentru a distribui biblioteci, a asigura asamblarea și a gestiona dependențele de către proiect. încărcătură, permițându-vă să obțineți bibliotecile necesare pentru program cu un singur clic. Un depozit este acceptat pentru a găzdui biblioteci lăzi.io.

Principalul inovații:

  • Trăsături FnOnce, FnMut и Fn implementat pentru heap-allocated tipuri în cutie Box‹dyn FnOnce›, Box‹dyn FnMut› și Box‹dyn Fn›;
  • Adăugat oportunitate turnarea închiderilor la indicatorii de funcție nesigure (unsafe fn);
  • S-a implementat capacitatea de a apela macro-ul „dbg!” fără argumente pentru afișarea numelui fișierului și a numărului de linie în stderr fără a inspecta variabila, ceea ce este convenabil pentru depanarea operațiunii expresiilor condiționate;
  • S-a adăugat metoda „ la tipurile de virgulă mobilă f32 și f64copysign» a copia un caracter de la un număr la altul;
  • Metoda adaugata "conține„, care vă permite să verificați dacă valoarea specificată este în interval;
  • Metodă adăugată Ref:Cell:map_split, permițându-vă să reflectați și să separați valoarea RefCell împrumutată pentru diferite componente ale datelor împrumutate;
  • Metodă adăugată RefCell::replace_with pentru a înlocui valoarea actuală RefCell și a returna valoarea veche ca rezultat;
  • Metodă adăugată ptr::hash a hash un pointer sau o referință după o adresă, mai degrabă decât valoarea adresată;
  • Metodă adăugată Opțiune::copiat pentru a copia conținutul opțiunilor Opțiune‹&T› sau Opțiune‹&mut T›;
  • O nouă parte a API-urilor a fost transferată în categoria stabilă, inclusiv metodele care au fost stabilizate
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Interval::contine,
    RangeFrom::contains,
    RangeTo::contains,
    RangeInclusive::contine,
    RangeToInclusive::conține și
    Opțiune::copiat;

  • S-a adăugat verificarea drop_bounds la clippy (linter), care este declanșată la adăugarea unei legături „T: Drop” la funcție;
  • Compilatorul a adăugat suport pentru o nouă platformă țintă
    wasm32-necunoscut-wasi (interfață AM FOST pentru a utiliza WebAssembly în afara browserului);

  • Setul de instrumente Rust este adaptat pentru distribuții bazate pe biblioteca standard C Musl.

Sursa: opennet.ru

Adauga un comentariu