My understanding is there is a bunch of poorly documented C code that is being translated into Rust using strict types.
This can simplify a bunch when using Rust but also better documents the internals for C.
This can simplify a bunch when using Rust but also better documents the internals for C.
Rust bindings for it are being written so you can call the C code from safe rust. The C code still exists and only the api is duplicated into rust.
The convenient side effect of that is that you need to know what constraints you have to enforce to make that memory safe, and generally memory safe here is going to translate to knowing how to properly call the api and enforcing that.
Very little C code is actually being rewritten in rust. None of the core C code that is really at issue here (but, for example, android's binder driver has been rewritten).