Rusts borrow checker is only able to prove at compile-time that a subset of correct programs are correct. There are many correct programs that the BC is unable to prove to be correct and therefore rejects them.
I’m a big fan of Rust and the BC. But let’s not twist reality here.
There are programs that "work" but the reason they "work" is complicated enough that the BC is unable to understand it. But such programs tend to be difficult for human readers to understand too, and usually unnecessarily so.
No. The borrow checker rejects programs that are definitely incorrect. It does not require that the program is correct.
That's a big difference.
The BC will not incorrectly approve an incorrect program.
But the BC does not approve all correct programs. Because some patterns which are indeed perfectly correct and will never explode the BC is not able to prove that and therefore the BC rejects the program.
The BC is effectively incompatible with typical video game patterns. The whole level/frame life cycle is effectively unsupported by the Rust BC. As just one example.
Kudos to that guy for solving the puzzle, but I really don't want to use a special trick to get the compiler to let me reuse a buffer in a for loop.
[1]: https://davidlattimore.github.io/posts/2025/09/02/rustforge-...
I also don't fully understand the buffer reuse example. Why would you want to store references to a string after the string ceases to exist?