I'm told that its something of a brain @~%$, to begin with
A lot of Rust is basically C improved by nearly 5 decades of experience, and it's been rapidly improving itself as things are tried and either work or get dropped. (The earlier versions looked like they were going to rival PERL for greatest use of random punctuation characters, but most of that got stripped out as the language was refined.) The biggest leap of faith was the decision to not have a required runtime system, which I think was what made Rust a plausible replacement for C/C++, rather than just another safe language like ML or C#.
The borrow checker (and memory lifetimes) is what seems to cause problems for programmers new to it, and that has been improving as well. Rust pointer types follow linear logic, so if you've met that before life isn't too hard (although mistakes still happen). If you don't know linear logic, you may have a bit of a struggle until it clicks.