systemd ha integrato il supporto iniziale a Rust, consentendo di usare il linguaggio in singoli binari che fungono da componenti terminali. Il codice condiviso del progetto deve rimanere in C, quindi Rust non può ancora essere usato nei componenti fondamentali di systemd.
In un post sul blog, i principali sviluppatori di systemd, Christian Brauner e Lennart Poettering, hanno illustrato l’approccio e i requisiti di progettazione. Tra questi figurano l’accesso coerente alle API fondamentali, un comportamento e procedure di compilazione uniformi, il supporto a Rust no-std e il mantenimento di Rust come opzione facoltativa.
Gli sviluppatori hanno dichiarato che systemd vorrebbe adottare Rust nei componenti fondamentali ed è disposto a collaborare con la comunità Rust per raggiungere questo obiettivo. Hanno sottolineato la necessità di un supporto di prima classe a Rust per le librerie condivise e di modalità migliori per interagire con il file system principalmente tramite descrittori di file.
Ulteriori dettagli su Rust in systemd sono disponibili sul blog di Amutable.
Fonti: Phoronix.