Rust este un limbaj de programare compilat, multi-paradigmă, de uz general.
Noua versiune a Rust 1.78 a fost deja lansată și sunt implementate noi caracteristici, precum și stabilizarea unor API-uri, îmbunătățiri în Cargo și multe altele.
Pentru cei care nu cunosc acest limbaj de programare, ar trebui să știe asta se concentrează pe siguranța memoriei și oferă mijloacele pentru a obține un paralelism ridicat de joburi evitând în același timp utilizarea unui colector de gunoi și a unui timp de rulare (timpul de rulare este redus la inițializare de bază și întreținere standard a bibliotecii).
Principalele caracteristici noi ale Rust 1.78
În această nouă versiune prezentată de Rust 1.78 și-a crescut cerințele minime pentru Windows 10, În afară de asta compilatorul a fost modificat pentru a utiliza LLVM 18. Când utilizați LLVM 18 pentru arhitecturile x86-32 și x86-64, ABI-ul asociat cu tipurile u128 și i128 a fost modificat.
În ceea ce privește modificările, una dintre caracteristicile care iese în evidență este că Rust acum acceptă un spațiu de nume de atribut «#[diagnostic]", ce oferă un mijloc de a influența mesajele de eroare produse de către compilator. Acestea sunt tratate ca indicii pe care compilatorul nu trebuie să le folosească și nici nu este o eroare să furnizeze un diagnostic pe care compilatorul nu îl recunoaște. Acest permite codului sursă să ofere diagnostice chiar și atunci când acestea nu sunt acceptate de toate compilatoarele, fie că sunt versiuni diferite sau implementări complet diferite.
În plus, un cache global a fost stabilizat în Cargo care stochează informații despre cea mai recentă utilizare a datelor. Acest cache se află în $CARGO_HOME/.global-cache și folosește SQLite pentru implementarea sa. Se actualizează automat pentru a reflecta cele mai recente modificări ale indexului, cratei, directorului de coduri, clonării git și git checkout, îmbunătățind eficiența și viteza operațiunilor de gestionare a dependenței în proiectele de dezvoltare.
O altă caracteristică nouă a Rust 1.78 este că are biblioteca standard Rust Diverse declarații pentru condițiile prealabile ale funcțiilor nesigure care acum poate fi amânat până la generarea codului. Acest lucru permite efectuarea acestor verificări istoric, acestea au fost activate doar în versiuni «#[cfg(debug_assertions)]» pentru a evita afectarea performanței în versiunea de lansare. Cu această modificare, utilizatorii pot detecta acum comportamentul nedefinit în codul lor, deși detaliile despre cât de mult este verificat nu sunt în general stabile. Pentru a activa verificările, acum este suficient să activați aserțiunile de depanare pentru versiunile de testare sau de depanare ale codului.
Pe lângă asta, acum comportamentul funcţiilor standard ale bibliotecii care afectează alinierea pointerilor și sectoarelor acum este previzibil în timpul execuției și depinde de datele de intrare. Funcția pointer::align_offset, care calculează decalajul pentru a alinia indicatorul, revine acum utilizare::MAX numai dacă operația eșuează. Funcțiile slice::align_to și slice::align_to_mut, care transformă feliile într-o reprezentare cu o felie din mijloc aliniată și feliile originale de început și de sfârșit, acum returnează întotdeauna cea mai mare parte din mijloc.
Pe de altă parte, se menționează că Următoarele API-uri au fost mutate în categoria „stabilă”.: impl Citiți pentru &Stdin, impl De la pentru io::Eroare si implementarea impl care permite utilizarea de ? Dimensiune.
Dintre Alte schimbări care ies în evidență a acestei noi versiuni:
- A fost implementat al doilea nivel de suport pentru platforma țintă Add wasm32-wasip1. Al doilea nivel de suport presupune o garanție de montaj.
- Platforma wasm32-wasi-preview1-threads a fost redenumită în wasm32-wasip1-threads.
- În managerul de pachete Cargo, versiunea 4 a fișierelor de blocare (lockfile v4) a fost stabilizată. Cargo folosește acum această versiune ca standard pentru a asigura coerența și gestionarea eficientă a dependențelor între proiecte.
Dacă ești interesat să afle mai multe despre asta, puteți verifica detaliile în următorul link.
În fine, pentru cei care sunt Sunteți interesat să faceți upgrade de la o versiune anterioară de Rust instalat prin rustup, puteți obține noua versiune de Rust 1.78 cu:
rustup update stable
Dacă nu aveți deja instalat Rust pe sistemul dvs., puteți face acest lucru rulând următoarea comandă într-un terminal:
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh