If they rely on UB at all, then this won’t work. At they you get a compile time error, but more likely your rust program will do weird stuff with memory. And given how much people rely on compilers “acting nice” when it comes to aliasing (something rust does not fuck around with), I wouldn’t hold my breathe
Comment on Microsoft wants to replace its entire C and C++ codebase, perhaps by 2030
tal@lemmy.today 1 day agoWhile I agree that I don’t think that an LLM is going to do the heavy lifting there, I assume that Rust has some way of overriding type-induced checks. If your goal is just to get to a mechanically-equivalent-to-C++ Rust version, rather than making full use of its type system to try to make the code as correct as possible, you could maybe do that. It could provide the benefit of a starting place to start using the type system to do additional checks.
Miaou@jlai.lu 21 hours ago
MartianSands@sh.itjust.works 23 hours ago
The safety designed into Rust is suddenly foreign to the C family that I’m honestly not sure you can do that. Even “unsafe” Rust doesn’t completely switch off the enforced safety
InnerScientist@lemmy.world 19 hours ago
Yeah, to quote the manual:
“[Unsafe Rust allows you to]
[…] The unsafe keyword only gives you access to these five features that are then not checked by the compiler for memory safety.”
doc.rust-lang.org/book/ch20-01-unsafe-rust.html