I wish I had written down notes since I started learning Rust. So I had an accurate framing of the difficulties as I experienced them. I assume I am already deep enough into Rust that some of the tough parts are already rote.

Options

Error Handling

Move Semantics

Borrowing

String vs String Slices (&str) vs Vectors

Lifetimes

Structs not classes

Iterators and Closures

Macros

Traits

  • What do I build with it?
  • What do I even use Lifetimes, Slices.... for
  • How do I use them all together
  • Ok I get it but I don't really get it...

What I've found helpful:

I bounced around between these different resources.

The Rust Programming Language - The Rust Programming Language
Rust | Exercism
Rust is a compiled programming language designed for speed, concurrency, and memory safety. Rust programs can run almost anywhere, from low-power embedded devices to web servers.
rust-lang/rustlings
:crab: Small exercises to get you used to reading and writing Rust code! - rust-lang/rustlings
Rust in Action
Rust in Action</i> introduces the Rust programming language by exploring numerous systems programming concepts and techniques. You’ll be learning Rust by delving into how computers work under the hood. You’ll find yourself playing with persistent storage, memory, networking and even tinkering with C…
Learn Rust by Building Real Applications
<p>You have probably heard of the Rust Programming Language - a modern systems language that is blazingly fast, guarantees memory safety without the use of a garbage collector and most importantly is fun to write. It has a great community and excellent tooling. These are just some of the reasons why…