CRUST is a C static analyzer that allows to have in C language the same memory ownership model than in RUST language.
CRUST doesn't create a new language, but just adds to C the bare minimum to allow a C static analyzer to know when a pointer must be managed. It doesn't need a new compiler, neither fancy libraries nor obscure macros with unknown effects. The code is pure C language, so it can be used even in microcontrollers.
With CRUST it is easier to write C code without dangling pointers or memory leaks, and with the big advantage of not needing to learn a new language.