我来科普下现在 rust 在 Linux 内核里是什么情况吧,有可能一些地方会说错。
rust for linux 对内核里的 c api 进行包装抽象,搞出 rust 形式。
但是由于内核中的 c api 抽象成 100%rust 风味的代码十分困难,所以这个项目搞了这么多年也很难说是可用,甚至其中的块设备层的抽象存在很大的问题,我还写文章进行吐槽了下
https://zhuanlan.zhihu.com/p/1945592808326013494Asahi Linux(Macbook 上跑的 Linux 发行版)的做法是对用到的 api 抽象出 80%够自己用的,但是这种代码没办法被合并到主线,Asahi 也只能独立维护内核。
rust 的代码和 c 是一个地位,比如 panic drm qr code 功能中就会见到 drm_panic.c
drm_pacic_qr.rs 在一个文件夹中,rust 代码负责计算然后导出函数供给 drm_panic.c 进行调用,但是更多的还是用于模块的编写。
至于 contributor 是完全不需要学 rust 的,因为以后的很长时间内是不会存在 Linux 中的某个功能是 rust 写的,不会 rust 看不懂的这种情况。