Torvalds critica la formattazione di Rust: completamente pazzesca!
Linus Torvalds critica il controllo del formato Rust nella fusione di Linux 6.18. Vengono discusse le attuali linee guida e soluzioni alternative per la risoluzione dei conflitti.

Torvalds critica la formattazione di Rust: completamente pazzesca!
Le controversie sull'integrazione di Rust nel kernel Linux stanno aumentando. Linus Torvalds ha criticato aspramente il controllo del formato Rust durante la finestra di fusione di Linux 6.18, definendolo "insensato e completamente folle". Ha criticato in particolare il modo in cui le dichiarazioni di importazione multiriga sono combinate in un'unica riga. Queste dichiarazioni arrivarono pochi minuti prima del rilascio di Linux 6.18-rc2, che includeva soluzioni rapide per rispondere alle critiche di Torvalds. Miguel Ojeda, lo sviluppatore principale di Rust nel progetto Linux, ha svolto un ruolo chiave e ha commentato gli aggiustamenti necessari per la prossima versione.
Come riportato da Phoronix, i conflitti di unione e rebase sono un problema ricorrente. La formattazione predefinita fornita da "rustfmt" non poteva gestire correttamente la riformulazione delle dichiarazioni di importazione da parte di Torvalds, il che ha causato difficoltà in passato. Le linee guida aggiornate, che sono state implementate rapidamente, prevedono una soluzione temporanea: un successivo commento vuoto renderà il codice nuovamente conforme a 'rustfmt'.
Il dibattito sulle pratiche di formattazione
Il nucleo della discussione inizialmente ruotava attorno a una richiesta pull per Linux 6.18, che è stata presentata dal manutentore Dave Airlie il 1 ottobre. Torvalds è stato critico nei confronti della gerarchia dei rientri piatti nel registro delle modifiche e ha persino messo in dubbio la qualità dell'editor di Airlie. Questo dibattito tecnico sullo strumento di formattazione di Rust e sui problemi di fusione associati mostra quanto sia importante una formattazione precisa per il successo di un progetto complesso come il kernel Linux, come dimostrano i documenti È FOSS.
Per quanto riguarda le sfide poste da una formattazione errata, Miguel spiega che opzioni di configurazione più robuste per la formattazione di importazione sono disponibili solo nelle build notturne. Consiglia di eseguire lo strumento di formattazione automatica solo dopo la risoluzione dei conflitti per evitare problemi futuri con il sistema di integrazione continua. Ciò sottolinea gli anni di esperienza che sono essenziali quando si prendono tali decisioni.
Rust e il suo ruolo nel kernel
In mezzo a queste controversie tecniche, viene esaminato criticamente il ruolo dei linguaggi di programmazione nel kernel Linux. Torvalds sottolinea che nessuno è costretto a lavorare con Rust, ma ciò non significa che il codice Rust possa essere automaticamente rifiutato. Al contrario: secondo Ars Technica, una collaborazione tra sviluppatori C e sviluppatori Rust potrebbe essere fruttuosa.
L'integrazione di Rust è ampiamente vista come un vantaggio per lo sviluppo di nuovi codici e driver. Greg Kroah-Hartman, uno sviluppatore veterano del kernel, sottolinea che molti dei problemi di sicurezza negli ultimi anni sono stati causati da "stupidi piccoli casi limite in C" che non esistono in Rust. Dato che ci sono 30 milioni di righe di codice C che non scompariranno presto, è essenziale considerare l'integrazione di Rust in futuro.
La discussione su Rust nel kernel Linux non ha solo implicazioni tecniche, ma anche strategiche per lo sviluppo del software, che dovrebbero essere perseguite per comprendere le sfide e le opportunità offerte da questo nuovo panorama di programmazione.