Rust si presenta come una suite di librerie associate, i file di documentazione, e un full-on compilatore.
Il linguaggio stesso è stato scritto appositamente per lo sviluppo di applicazioni Web client-server, con l'obiettivo principale di essere sulla velocità e un design senza crash.
La sintassi di Rust è molto simile a C e C ++, il che rende molto facile da imparare, se si dispone di conoscenze di programmazione di base.
Le applicazioni scritte a Rust sono notevolmente stabili
Cosa c'è di nuovo in questa versione:.
- Il stragrande maggioranza della libreria standard è ora # [stabile]. Non è più possibile usare caratteristiche instabili con una build stabile del compilatore.
- Molte casse popolari crates.io ora lavorare sul canale di rilascio stabile.
- aritmetica su tipi interi di base ora controlla overflow in build di debug.
Cosa c'è di nuovo nella versione 1.6.0:
- La maggior parte della libreria standard è ora # [stabile]. Non è più possibile usare caratteristiche instabili con una build stabile del compilatore.
- Molte casse popolari crates.io ora lavorare sul canale di rilascio stabile.
- aritmetica su tipi interi di base ora controlla overflow in build di debug.
Cosa c'è di nuovo nella versione 1.5.0:
- La maggior parte della libreria standard è ora # [stabile]. Non è più possibile usare caratteristiche instabili con una build stabile del compilatore.
- Molte casse popolari crates.io ora lavorare sul canale di rilascio stabile.
- aritmetica su tipi interi di base ora controlla overflow in build di debug.
Cosa c'è di nuovo nella versione 1.3.0:
- La maggior parte della libreria standard è ora # [stabile]. Non è più possibile usare caratteristiche instabili con una build stabile del compilatore.
- Molte casse popolari crates.io ora lavorare sul canale di rilascio stabile.
- aritmetica su tipi interi di base ora controlla overflow in build di debug.
Cosa c'è di nuovo nella versione 1.0.0:
- La maggior parte della libreria standard è ora # [stabile]. Non è più possibile usare caratteristiche instabili con una build stabile del compilatore.
- Molte casse popolari crates.io ora lavorare sul canale di rilascio stabile.
- aritmetica su tipi interi di base ora controlla overflow in build di debug.
Cosa c'è di nuovo nella versione 0.12.0 / 1.0.0-beta.4:
- Il introduttivo documentazione (ora chiamata La Guida Rust) è stato completamente riscritto, come avere un numero di guide supplementari.
- gestore di pacchetti di Rust, Cargo, continua a migliorare ed a volte è considerato abbastanza impressionante.
- Molti API in STD sono state riviste e aggiornate per coerenza con le linee guida di codifica Rust in sviluppo. La documentazione libreria standard rintraccia il progresso di stabilizzazione.
- le biblioteche minori sono state spostate fuori-di-albero per la ruggine-lang org su GitHub: UUID, semver, glob, num, hexfloat, fourcc. Possono essere installati con Cargo.
- elisione a vita permette annotazioni vita per essere lasciati fuori di dichiarazioni di funzione in molti scenari comuni.
- Rust ora funziona su Windows a 64 bit.
Cosa c'è di nuovo nella versione 0.12.0 / 1.0.0-alpha:
- La documentazione introduttivo ( ora chiamata La Guida Rust) è stato completamente riscritto, come avere un numero di guide supplementari.
- gestore di pacchetti di Rust, Cargo, continua a migliorare ed a volte è considerato abbastanza impressionante.
- Molti API in STD sono state riviste e aggiornate per coerenza con le linee guida di codifica Rust in sviluppo. La documentazione libreria standard rintraccia il progresso di stabilizzazione.
- le biblioteche minori sono state spostate fuori-di-albero per la ruggine-lang org su GitHub: UUID, semver, glob, num, hexfloat, fourcc. Possono essere installati con Cargo.
- elisione a vita permette annotazioni vita per essere lasciati fuori di dichiarazioni di funzione in molti scenari comuni.
- Rust ora funziona su Windows a 64 bit.
Cosa c'è di nuovo nella versione 0.11.0:.
- campi Struct sono ora tutti privati per impostazione predefinita
- Indici vettoriali e spostare gli importi sono entrambi tenuti ad essere un `uint` ora invece di qualsiasi tipo integrale.
- carattere Byte, stringa di byte, e prime letterali stringa di byte sono ora tutti supportati anteponendo al normale letterale con un `B`.
- ABI multipli non sono più ammessi in una stringa ABI
- La sintassi per vite sulla clousres / procedure è stato ottimizzato un po '.
- virgola mobile modulo è stato rimosso dal linguaggio, è ancora fornito da una implementazione biblioteca, però.
- varianti enum private sono ora consentito.
- La parola chiave `priv` è stato rimosso dal linguaggio.
- Una chiusura non può più essere invocata attraverso un & -pointer.
- L'uso foo `, bar, baz;.` Sintassi è stato rimosso dal linguaggio
- Il trasmutare intrinseca non funziona più su parametri di tipo.
- Statica ora permettono blocchi / articoli nel loro definizione.
- limiti Trait sono separate da oggetti con + al posto di:. Ora
- oggetti mutably presi in prestito non possono più essere letti mentre sono presi in prestito.
Cosa c'è di nuovo nella versione 0.10:
- Un nuovo processo RFC è ora in atto per modificare la lingua .
- Modelli con `` @ -pointers sono stati rimossi dalla lingua.
- Modelli con vettori unici ( `~ [T]`) sono stati rimossi dalla lingua.
- I modelli con stringhe unici ( `~ str`) sono stati rimossi dalla lingua.
Cosa c'è di nuovo nella versione 0.9:
- fatto ampi miglioramenti al runtime e di I / sottosistema O.
- collegamento statico Introduce e link-tempo di ottimizzazione.
- ridotto la varietà delle chiusure nella lingua.
Cosa c'è di nuovo nella versione 0.8:
- Le stringhe non contengono più i null finale. Il nuovo modulo di `std :: c_str` prevede nuovi meccanismi per la conversione di stringhe C.
- Il tipo di funzioni stranieri è ora `extern & quot; C & quot; fn` invece di `* U8 '.
- Il FFI è stata revisionata in modo tale che le funzioni di stranieri sono chiamati direttamente, invece che attraverso un involucro pila di commutazione.
- La sintassi `for` ciclo è cambiato a lavorare con il Iterator` tratto`.
- Finalmente, rilassarsi funziona su Windows.
- metodi di default sono pronti per l'uso.
- Molti bug tratto eredità fisso.
- oggetti tratto di proprietà e presi in prestito lavorare in modo più affidabile.
Cosa c'è di nuovo nella versione 0.6:
- Sostituito il 'carico' gestore dei pacchetti con 'rustpkg'
- Aggiunto-purpose tutti strumento di 'ruggine'
- `rustc --test` ora supporta parametri di riferimento con il` # [panchina] `attributo
- rustc ora * * tentativi di offrire suggerimenti ortografici
- Migliorato il supporto per ARM e Android
- preliminare MIPS backend
- Migliorata la funzione estera implementazione ABI per x86, x86_64
- Vari miglioramenti utilizzo della memoria
- codice Rust può essere incorporato nel codice estera in circostanze limitate
Cosa c'è di nuovo nella versione 0.5:
- Nuovo sistema di movimentazione condizione in `nucleo :: condition`
- timsort aggiunto al `std :: sort`
- coda nuova priorità, `std :: priority_queue`
- Tubi per i tipi serializzabili, `std :: flatpipes '
- serializzazione revisionato per essere trait-based
- Expanded `definizioni getopts`
- Spostato a termine a `std`
- Più funzioni sono pure ora
- `nucleo :: comm` rinominato` oldcomm`. Ancora deprecato
- `rustdoc` e` cargo` sono librerie ora
- Aggiunto un REPL preliminare, `rusti`
- Licenza cambiato dal MIT a doppio MIT / APL2
Cosa c'è di nuovo nella versione 0.3.1:.
- Minore OSX fix
Cosa c'è di nuovo nella versione 0.3:
- Nuova codifica comodità
- pulizia semantica
- sperimentali nuove funzionalità del linguaggio
- Tipo riflessione
- La rimozione di varie caratteristiche obsoleti
- Compiler riorganizzazione
Limitazioni .
- La documentazione è incompleta li>
- Le prestazioni sono sotto bersaglio.
- API libreria standard sono soggetti a vasto cambiamento, di riorganizzazione.
- a livello di linguaggio delle versioni non è ancora operativa - Codice futuro si romperà inaspettatamente .
I commenti non trovato