Rust és un llenguatge de programació compilat, de propòsit general i multiparadigma
La nova versió de Rust 1.78 ja va ser alliberada i arriba implementat noves característiques, així com també amb l'estabilització d'algunes API, millores a Càrrec i més.
Per als qui desconeixen aquest llenguatge de programació han de saber que s'enfoca a la seguretat de la memòria i proporciona els mitjans per aconseguir un alt paral·lelisme treballs mentre evita l'ús d'un recol·lector d'escombraries i temps d'execució (el temps d'execució es redueix a la inicialització bàsica i al manteniment de la biblioteca estàndard).
Principals novetats de Rust 1.78
En aquesta nova versió que es presenta de Rust 1.78 ha augmentat el seu requisit mínim per a Windows 10, A més de que el compilador es va canviar per utilitzar LLVM 18. Quan es fa servir LLVM 18 per a arquitectures x86-32 i x86-64, es va canviar l'ABI associada amb els tipus u128 i i128.
Per la part dels canvis, una de les característiques que es destaca és que Rust ara suporta un espai de noms d'atributs «#[diagnostic]«, Que proporciona un mitjà per influir en els missatges derror produïts pel compilador. Aquests són tractats com a suggeriments que el compilador no està obligat a utilitzar, i tampoc no és un error proporcionar un diagnòstic que el compilador no reconegui. Això permet que el codi font proporcioni diagnòstics fins i tot quan no són compatibles amb tots els compiladors, ja siguin diferents versions o implementacions completament diferents.
A més, s'ha estabilitzat una memòria cau global a Càrrec que emmagatzema informació sobre lús de dades més recent. Aquest cau es troba a $CÀRREC_HOME/.global-cache i utilitza SQLite per a la seva implementació. Automàticament, s'actualitza per reflectir els canvis més recents a l'índex, l'arxiu crate, el directori de codis, git clone i git checkout, cosa que millora l'eficiència i la velocitat de les operacions de gestió de dependències en els projectes de desenvolupament.
Una altra de les novetats de Rust 1.78, és que la biblioteca estàndard de Rust té diverses afirmacions per a les precondicions de les funcions «unsafe» que ara es poden ajornar fins a la generació del codi. Això permet realitzar aquestes comprovacions que històricament només s'havien habilitat en compilacions «#[cfg(debug_assertions)]» per evitar afectar el rendiment a la versió de llançament. Amb aquest canvi, ara els usuaris poden detectar comportaments indefinits al seu codi, encara que els detalls sobre quant es verifica no són estables en general. Per activar comprovacions, ara n'hi ha prou amb habilitar les afirmacions de depuració per a les compilacions de prova o depuració del codi.
A més, ara el comportament de les funcions de la biblioteca estàndard que afecten l'alineació de punters i sectors ara és predictible al runtime i depèn de les dades dentrada. la funció pointer::align_offset, que calcula el desplaçament per alinear el punter ara torna usize::MAX només si falla l'operació. Les funcions slice::align_to i slice::align_to_mut, que transformen els talls en una representació amb un tall mitjà alineat i els talls inicials i finals originals, ara sempre tornen la part mitjana més gran.
Per part, s'esmenta que s'han passat a la categoria «estable les següents APIA: impl Read for &Stdin, impl From for io::Error i la implementació impl que permet l'ús de ?Sized.
Dels altres canvis que es destaquen d'aquesta nova versió:
- S'ha implementat el segon nivell de suport per a la plataforma de destinació Add wasm32-wasip1. El segon nivell de suport implica una garantia de muntatge.
- La plataforma wasm32-wasi-preview1-threads ha canviat de nom a wasm32-wasip1-threads.
- A l'administrador de paquets Càrrec, s'ha estabilitzat la versió 4 dels fitxers de bloqueig (lockfile v4). Càrrec ara utilitza aquesta versió com a estàndard per garantir la consistència i la gestió eficient de les dependències en els projectes.
si estàs interessat a poder conèixer més sobre això, pots consultar els detalls a el següent enllaç.
Finalment, per als que estiguin interessats a actualitzar des d'una versió anterior de Rust instal·lada a través de rustup, es pot obtenir la nova versió de Rust 1.78 amb:
rustup update stable
Si encara no comptes amb Rust instal·lat al teu sistema, pots fer-ho executant la següent ordre en una terminal:
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh