I received a post from a friend of mine of a guy who developed games in rust and who also developed a small game engine in rust ranting about the language and about the borrow checker.
I sympathize with the guy - up to a certain point - as I had a similar experience
When I decided to learn Rust, I went through all Rust by Example examples and after I finished, I wrote one small Rust application, followed by a professional Rust application in the place I am working for. This second one was way more complicated, fully asynchronous and critical.
Although the language didn't allow me to screw things up, I found myself fighting the borrow checker quite a lot without not really understanding what I was doing, when I decided it wasn't great and I needed to learn the language in order to understand what I was doing.
Following some recommendations, I bought this book: Programming Rust: Fast, Safe Systems Development . It was a game changer.
After reading the book and understanding what I was doing, I stopped fighting the borrow checker! Also, it started being clear in my mind memory allocations and how some "magical" parts of Rust work.
So, I am not sure why the author of the post it was sent me was saying the struggle never ends. Maybe they need some extra reading?