Live data from Hacker News

Cpp2Rust: Translates C++ to safe Rust automatically

github.com

21–22 of 22 posts

Re: Cpp2Rust: Translates C++ to safe Rust automatically

#21

If I can autoport my C++ to Rust, and the port is confirmed identical, and the Rust is confirmed safe, can't I use that to reason about the safety of my C++? Is safe C++ just a matter of proving it has a safe Rust equivalent?

> the Rust is confirmed safe

keep in mind that rust:

- does not prevent logic errors

- does not prevent stack overflows

- does not prevent out of memory errors

- does not prevent bitflips caused by faulty hardware or cosmic rays

- does not prevent memory leaks

- does not prevent unrecoverable errors (panics)

- does not prevent memory safety related issues in an unsafe context

Re: Cpp2Rust: Translates C++ to safe Rust automatically

#22

If I can autoport my C++ to Rust, and the port is confirmed identical, and the Rust is confirmed safe, can't I use that to reason about the safety of my C++? Is safe C++ just a matter of proving it has a safe Rust equivalent?

> the Rust is confirmed safe keep in mind that rust: - does not prevent logic errors - does not prevent stack overflows - does not prevent out of memory errors - does not prevent bitflips caused by faulty hardware or cosmic rays - does not prevent memory leaks - does not prevent unrecoverable errors (panics) - does not prevent memory safety related issues in an unsafe context

GP is referring to the article's title, as in "safe Rust", as in "Rust with no unsafe keyword", as in whether it has undefined behavior or not.

Granted the premise is rather brittle, since all Cpp2Rust does is to convert UB to runtime crashes, which can be undecidable, and cannot be used to prove anything about the original C++ code.

Post reply on HN