What is C2Rust?

    The translator (or transpiler), produces unsafe Rust code that closely mirrors the input C code. The primary goal of the translator is to produce code that is functionally identical to the input C code. Generating safe or idomatic Rust is not a goal for the translator. Rather, we think the best approach is to gradually rewrite the translated Rust code using dedicated refactoring tools. To this end, we are building a that rewrites unsafe auto-translated Rust into safer idioms.

    Here's the big picture:

    To learn more, check out our RustConf'18 talk on YouTube and try the C2Rust translator online at .