I used Rust with Deepseek for a small project for copying and pasting snippets and it went pretty well, but I wouldn’t trust it to work with and debug a codebase on its own, especially not an OS
While I agree that I don’t think that an LLM is going to do the heavy lifting of making full use of Rust’s type system, 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.
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
As if AI could handle the mountains of checks Rust has you account for.
AI: This is unsafe. This is also unsafe. This third one? Unsafe.
I’m my experience, LLMs are especially bad at Rust. They really don’t seem to grasp the borrow checker.
I used Rust with Deepseek for a small project for copying and pasting snippets and it went pretty well, but I wouldn’t trust it to work with and debug a codebase on its own, especially not an OS
While I agree that I don’t think that an LLM is going to do the heavy lifting of making full use of Rust’s type system, 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.
unsafe { <the whole codebase> }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
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."
https://doc.rust-lang.org/book/ch20-01-unsafe-rust.html