An important “unblocker” for me when learning Rust after decades of other languages was internalizing that assignment is <i>destructive move</i> by default. Like many Rust intros, this sort of glides past that in the “ownership” section, but I felt like it should be a big red headline.<p>If you’re coming from C++ especially, where the move/copy situation is ridiculously confusing (IMO), but also from a simpler “reference by default” language like Java, this has profound impact on what’s intuitive in the language.<p>For the C++ comparison, this is a pretty good article: <a href="https://radekvit.medium.com/move-semantics-in-c-and-rust-the-case-for-destructive-moves-d816891c354b" rel="nofollow">https://radekvit.medium.com/move-semantics-in-c-and-rust-the...</a>