Il backend rustc_codegen_gcc ha ottenuto il bootstrapping completo del compilatore rustc. La promozione del compilatore significa la possibilità di utilizzare un generatore di codice basato su GCC in rustc per compilare autonomamente il compilatore rustc. Il backend consente di utilizzare la libreria libgccjit del progetto GCC come generatore di codice nel compilatore rustc, il che consente di creare programmi rust per tutte le architetture disponibili in GCC e di utilizzare ottimizzazioni specifiche di GCC.
Inoltre, possiamo segnalare il rilascio del progetto Rust Coreutils 0.1.0 (uutils), che sviluppa un analogo del pacchetto GNU Coreutils scritto nel linguaggio Rust. coreutils include oltre un centinaio di utilità, tra cui sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln e ls. L'obiettivo del progetto è creare un'implementazione alternativa multipiattaforma di Coreutils, in grado di funzionare sulle piattaforme Windows, Redox e Fuchsia, tra le altre. Rust Coreutils è diventato l'opzione predefinita in Ubuntu a partire dalla versione 25.10. A differenza di GNU Coreutils, l'implementazione di Rust è distribuita sotto la licenza permissiva MIT, anziché sotto la licenza copyleft GPL. Inoltre, lo stesso team di sviluppatori sta sviluppando analoghi scritti in Rust dei set di utilità util-linux, diffutils, findutils e bsdutils.
Nella nuova versione:
- Il supporto SELinux è stato implementato e integrato nelle utilità cp, ls, mkdir, mknod, mkfifo, install e stat.
- Sono state apportate ottimizzazioni delle prestazioni, particolarmente evidenti durante l'esecuzione delle utilità cat, ls, wc, tail, seq e altre. Molte utility ora eguagliano o superano le prestazioni delle loro controparti GNU.
- Compatibilità migliorata con la suite di test di riferimento GNU Coreutils, che ha superato 522 test (in precedenza 507), ha fallito 65 (69) test e ha saltato 31 (41) test.
- Funzionalità estese, compatibilità migliorata e opzioni mancanti aggiunte per le utilità basenc, cat, chmod, chroot, cksum, cp, csplit, date, dd, df, du, echo, env, expr, false, fmt, head, hostid, hostname, id, install, ls, mkdir, mkfifo, mknod, mktemp, more, mv, numfmt, od, pr, printf, ptx, rm, seq, shred, shuf, sleep, sort, split, stat, sum, sync, tail, tee, test, timeout, touch, tsort, uptime, uucore, wc, whoami e yes.
Fonte: opennet.ru
