Rilascio del linguaggio di programmazione Rust 1.35

ha avuto luogo rilascio del linguaggio di programmazione del sistema Ruggine 1.35, sviluppato dal progetto Mozilla. Il linguaggio si concentra sulla sicurezza della memoria, fornisce la gestione automatica della memoria e fornisce un mezzo per ottenere un elevato parallelismo delle attività senza utilizzare un garbage collector o un runtime.

La gestione automatica della memoria di Rust libera lo sviluppatore dalla manipolazione dei puntatori e protegge dai problemi derivanti dalla manipolazione della memoria di basso livello, come accessi alla memoria after-free, dereferenziazioni di puntatori nulli, sovraccarichi del buffer e simili. È in fase di sviluppo un gestore di pacchetti per distribuire le librerie, garantire l'assemblaggio e gestire le dipendenze del progetto. ufficio, che ti consente di ottenere le librerie necessarie per il programma in un clic. È supportato un repository per ospitare le librerie casse.io.

Il principale innovazioni:

  • Tratti FnOnce, FnMut и Fn implementato per l'allocazione heap tipi scatolati Box‹dyn FnOnce›, Box‹dyn FnMut› e Box‹dyn Fn›;
  • Aggiunto da opportunità lanciare chiusure su puntatori a funzioni non sicure (unsafe fn);
  • Implementata la possibilità di richiamare la macro “dbg!” senza argomenti per visualizzare il nome del file e il numero di riga in stderr senza ispezionare la variabile, il che è utile per eseguire il debug del funzionamento delle espressioni condizionali;
  • Aggiunto il metodo " ai tipi in virgola mobile f32 e f64copia segno» per copiare un carattere da un numero all'altro;
  • Aggiunto metodo "contiene“, che consente di verificare se il valore specificato rientra nell'intervallo;
  • Metodo aggiunto Rif:Cella:map_split, consentendo di riflettere e separare il valore RefCell preso in prestito per i diversi componenti dei dati presi in prestito;
  • Metodo aggiunto RefCell::sostituisci_con per sostituire il valore corrente RefCell e restituire il vecchio valore come risultato;
  • Metodo aggiunto ptr::hash per eseguire l'hashing di un puntatore o di un riferimento tramite un indirizzo anziché il valore indirizzato;
  • Metodo aggiunto Opzione::copiato per copiare il contenuto delle opzioni Opzione‹&T› o Opzione‹&mut T›;
  • Una nuova porzione di API è stata trasferita nella categoria stabile, inclusi i metodi che sono stati stabilizzati
    f32::copysign,
    f64::copysign,
    RefCell::sostituisci_con,
    RefCell::map_split,
    ptr::hash,
    Intervallo::contiene,
    RangeFrom::contiene,
    RangeTo::contiene,
    GammaInclusiva::contiene,
    RangeToInclusive::contiene e
    Opzione::copiato;

  • Aggiunto il controllo drop_bounds a clippy (linter), che viene attivato quando si aggiunge un'associazione "T: Drop" alla funzione;
  • Il compilatore ha aggiunto il supporto per una nuova piattaforma di destinazione
    wasm32-sconosciuto-wasi (interfaccia ERO IO utilizzare WebAssembly al di fuori del browser);

  • Il toolkit Rust è adattato per distribuzioni basate sulla libreria C standard Musl.

Fonte: opennet.ru

Aggiungi un commento