Sounds good to me
Sounds good to me.
Rust will be unfamiliar and something new to learn to many, but it's more like C than like, say, Python, Java, or C# etc. I found it relatively similar to a very pedantic dialect of C -- that's both the weakness and the strength of it.
Weakness -- I found it hard to use. It's very pedantic and requires some things to be explicitly stated that are not even required in C let alone some "higher-level" languages. There were some hoops to jump through to get things done that are easier in both plain C and in other languages.
Strengths -- those hoops and pedanticness I was talking about? These allow the compiler to PROVE the code is safe from many problems (you cannot have buffer overflows, memory leaks, if you're using threaded code it proves you're access to any shared data structures is thread-safe, among others). It's not imposing overhead to do garbage collection, check buffer lengths, run some expensive mutual exclusion system at runtime, the very pedanticness I was saying is a weakness is a strength here in that these properties can be proved at compile-time. Similar to C# in one aspect, Rust does have a way to flag "unsafe" calls etc., so you can interface with code written in conventional languages.
So -- the strengths mentioned are obviously good things for kernel code, keep the kernel bugs down to actual logic errors and avoid the unsafe buffer use, memory leaks, and unsafe thread behaviors. The weaknesses I mention are not significant weaknesses for kernel code, there's already a lot of restrictions on what can and should be done for drivers and so on written in C anyway, documented in both the kernel docs for writing drivers and so on, and embodied in the sample drivers included for most Linux subsystems. Rust will simply take advantage of these restrictions to perform some static code analysis ahead of time.