A systemd projekt hivatalosan is bevezette a Rust-ban írt programok fejlesztésének támogatását, miután beolvasztották a Linux kernel fejlesztője, Christian Brauner által benyújtott beolvasztási kérelmet. A változtatás a projekt fő ágába került, és új fejlesztési lehetőséget ad a systemd-nek, miközben a meglévő, C-alapú architektúra érintetlen marad.
Nem készül teljes átírás Rust-ra. A karbantartók tudatosan korlátozott megközelítésben állapodtak meg: Rust-at csak új, önálló komponensekhez használhatnak, amelyekre a systemd más részei nem épülnek. A meglévő C kódhoz nem nyúlnak.
A build folyamattal kapcsolatban is fontos döntés született. Ahelyett, hogy bevezetnék a Cargo-t, a Rust szokásos csomagkezelőjét és build eszközét, a systemd továbbra is minden buildhez a Mesont használja. Így a Rust-os fejlesztés szorosan illeszkedik a projekt meglévő build infrastruktúrájába.
A megvalósítás szigorú korlátokat szab a függőségeknek is. A Rust-ban írt programok no_std megközelítést használnak, vagyis nem támaszkodnak a Rust standard könyvtárára vagy külső third-party crate-ekre. Ehelyett a systemd meglévő C könyvtáraival kommunikálnak generált bindingeken keresztül.
Memóriakezeléshez a systemd saját Rust-os megvalósításokat ad a szokásos konténertípusokra, és az allokációs hibákat kifejezetten lekezeli, ahelyett hogy a program leállna. Az új infrastruktúra wrapper rétegeket is tartalmaz naplózáshoz, parancssori argumentumok kezeléséhez, eseményfeldolgozáshoz és hibakezeléshez, így a Rust-os segédprogramok viselkedése összhangban marad a C-ben írt megfelelőikkel.
A Rust támogatás opcionális, és a konfiguráció során automatikusan felismerik. Akik engedélyezni szeretnék, azoknak Rust 1.85 vagy újabb, bindgen 0.71.1 vagy újabb, valamint Meson 1.4 vagy újabb verzióra van szükségük. Azok a rendszerek, ahol ez az eszközkészlet nem áll rendelkezésre, továbbra is le tudják fordítani a systemd-et Rust támogatás nélkül.
Az első mérések szerint egy lecsupaszított, Rust-ban írt parancssori segédprogram körülbelül 32 KB helyet foglal, míg a link-time optimalizációval fordított C megfelelője 20 KB. Ez első közelítésben jelzi a többlet erőforrásigényt, bár az összehasonlítás egy nagyon kicsi tesztprogramon alapul.
Az infrastruktúra első tervezett, valódi felhasználása a systemd-keyring-setup lesz, egy új segédprogram, amely a Linux kernel keyringekben tárolt tanúsítványok kezelését segíti. A megvalósítását külön fejlesztik, párhuzamosan a systemd megosztott könyvtáraihoz készülő további Rust wrappekkel.
A Linux disztribúciók számára a változás csomagolási kérdéseket vet fel. Azoknál a buildeknél, ahol minden elérhető funkciót engedélyeznek, szükség lesz a megfelelő Rust fordítóra és a bindgen függőségeire, vagy le kell tiltani a Rust támogatást, hogy elkerüljék a fordítási hibákat.
Hogy a Rust mennyire terjed el a systemd-en belül, a jövőbeli fejlesztésektől függ, de az ehhez szükséges alapok mostanra elkészültek.

