Rust 1.78 è già stato rilasciato e queste sono le novità

logo ruggine

Rust è un linguaggio di programmazione multi-paradigma, generico e compilato.

La nuova versione di Rust 1.78 è già stata rilasciata ed vengono implementate nuove funzionalità, così come la stabilizzazione di alcune API, miglioramenti in Cargo e altro ancora.

Per coloro che non sono a conoscenza di questo linguaggio di programmazione, dovrebbero saperlo si concentra sulla sicurezza della memoria e fornisce i mezzi per ottenere un elevato parallelismo di lavori evitando l'uso di un Garbage Collector e del runtime (il runtime è ridotto all'inizializzazione di base e alla manutenzione standard della libreria).

Principali novità di Rust 1.78

In questa nuova versione presentata da Rust 1.78 ha aumentato i requisiti minimi per Windows 10, A parte quello il compilatore è stato modificato per utilizzare LLVM 18. Quando si utilizza LLVM 18 per le architetture x86-32 e x86-64, l'ABI associato ai tipi u128 e i128 è stato modificato.

Per quanto riguarda le modifiche, una delle caratteristiche che risalta è quella Rust ora supporta uno spazio dei nomi degli attributi  «#[diagnosi]", che cosa fornisce un mezzo per influenzare i messaggi di errore prodotti dal compilatore. Questi vengono trattati come suggerimenti che il compilatore non è tenuto a utilizzare, né costituisce un errore fornire una diagnostica che il compilatore non riconosce. Questo consente al codice sorgente di fornire diagnostica anche quando non sono supportati da tutti i compilatori, siano esse versioni diverse o implementazioni completamente diverse.

Inoltre, una cache globale è stata stabilizzata in Cargo che memorizza informazioni sull'utilizzo dei dati più recente. Questa cache si trova in $CARGO_HOME/.global-cache e utilizza SQLite per la sua implementazione. Si aggiorna automaticamente per riflettere le ultime modifiche all'indice, al crate, alla directory del codice, al clone git e al checkout git, migliorando l'efficienza e la velocità delle operazioni di gestione delle dipendenze nei progetti di sviluppo.

Un'altra nuova caratteristica di Rust 1.78 è che ha la libreria standard Rust Varie dichiarazioni sui presupposti per funzioni non sicure che ora può essere rinviato fino alla generazione del codice. Ciò consente di effettuare tali controlli storicamente erano stati abilitati solo nelle build «#[cfg(asserzioni_debug)]» per evitare di influenzare le prestazioni nella versione di rilascio. Con questa modifica, gli utenti possono ora rilevare comportamenti indefiniti nel loro codice, anche se i dettagli su quanto viene controllato non sono generalmente stabili. Per abilitare i controlli è ora sufficiente abilitare le asserzioni di debug per build di test o debug del codice.

In aggiunta a questo, ora comportamento delle funzioni della libreria standard che influenzano l'allineamento di puntatori e settori ora è prevedibile in fase di esecuzione e dipende dai dati di input. La funzione puntatore::align_offset, che ora calcola l'offset per allineare il puntatore usa::MAX solo se l'operazione fallisce. Le funzioni slice::align_to e slice::align_to_mut, che trasformano le sezioni in una rappresentazione con una sezione centrale allineata e le sezioni iniziale e finale originali, ora restituiscono sempre la parte centrale più grande.

D'altra parte, si dice che Le seguenti API sono state spostate nella categoria "stabile".: impl Leggi per &Stdin, impl Da per io::Errore e l'implementazione impl che ne consente l'utilizzo ?Di dimensioni.

Del Altri cambiamenti che risaltano di questa nuova versione:

  • È stato implementato il secondo livello di supporto per la piattaforma di destinazione Add wasm32-wasip1. Il secondo livello di supporto prevede una garanzia di montaggio.
  • La piattaforma wasm32-wasi-preview1-threads è stata rinominata wasm32-wasip1-threads.
  • Nel gestore pacchetti Cargo è stata stabilizzata la versione 4 dei file di blocco (lockfile v4). Cargo ora utilizza questa versione come standard per garantire coerenza e gestione efficiente delle dipendenze tra i progetti.

Se si interessati a saperne di più, puoi controllare i dettagli in il seguente collegamento.

Infine, per coloro che lo sono Interessato all'aggiornamento da una versione precedente di Rust installato tramite rustup, puoi ottenere la nuova versione di Rust 1.78 con:

rustup update stable

Se non hai già installato Rust sul tuo sistema, puoi farlo eseguendo il seguente comando in un terminale:

curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh