Přesněji první driver v mainline. Mimo mainline máme třeba Binder pro Android.
IIRC Rust v Linuxovém kernelu má zatím jedno takové omezení – v dlouhém seznamu podporovaných platforem některá chybí. Což zatím v praxi znamená:
a. Použít to pro něco tak specifického, že nepotřebujeme podporu těchto platforem nebo
b. napsat to jak v C, tak v Rustu, a pak řešit rozdílné chování. (To asi u netriviálního kódu nechcete…)
Potom není moc divu, že toho v mainline zatím moc v Rustu nenajdeme.
Je tu snaha udělat GCC backend pro Rust. Ten by to mohl řešit, a pak bychom se mohli dočkat většího nasazení. A ani pak nečekám okamžitou revoluci:
1. Rozhraní mezi C a Rustem může být trochu kostrbaté, protože C neřeší lifetimes. Čekal bych to prvně na dobře ohraničených částech kernelu, kde tato bolest nebude velká.
2. Stávající kód v C nějak funguje. Možná bude mít víc chyb, ale ne každému se bude chtít všechno přepisovat do Rustu. I potom tedy čekám v Rustu spíše nový kód, případně přepis některých věcí náchylnějších na chyby.
3. Budou tu nějací konzervativní vývojáři, kteří budou chtít přispívat, nebo které bude někdo chtít platit.
Určitě jsem rád za směřování k Rustu, byť to asi nepůjde tak rychle, jak bych chtěl.
To nemusi byt chyba. Spousta ovladacu v realu je potreba jen na nekolika konkretnich platformach a pravdepodobnost, ze je budete kompilovat taky jinde se limitne blizi nule.
A nekde se zacit musi.
A kdyz se pozorneji kouknete na ten patch, tak ve skutecnosti je to tak, ze mate na vyber mezi dvema variantami - bud ovladac v Rustu a nebo ten puvodni (ifdef v makefile). Takze Vami popsany problem... vlastne ani neexistuje :-)
Psát out of tree moduly v jazyce dle volby autora asi nějak půjde, otázka je, jak to bude náročné – nejen z hlediska toolingu, hlavně z hlediska API. Cčkové API neposkytuje informaci o lifetime (resp. ta informace tam je přinejlepším jen jako dokumentace bez jasné struktury), takže přínos podpory Rustu zde nějaký vidím. (Byť z větší části jde o potenciál do budoucna.)
Pro in-tree věci to holt *zatím* má dost omezené použití, ale i zde věřím, že se jednou dočkáme díky Rustu na GCC.