> If you're fighting the borrow checker in Rust, you'd probably have been fighting segfaults and use-after-free in C / C++.
That is in my ( admittedly limited) experience just not true. There's plenty of things that are perfectly safe that the borrow checker just doesn't understand.
The borrow checker can prove that a subset of things is safe. But the borrow checker being unable to prove something doesn't mean it's not safe.