If you're just starting to learn Rust, the official book The Rust Programming Language (by Steve Klabnik and Carol Nichols, with contributions from the Rust Community), is practically mandatory reading. You can access it free online, but I bought an actual paper edition published by No Starch Press, because it's just so much nicer to browse a physical book and look things up. Call me old school.
Another Rust book that I consider essential is Programming Rust, Second Edition by Jim Blandy, Jason Orendorff & Leonora F. S. Tindall. I was halfway through the original edition of this book when I found out that there was a second edition coming soon, covering Rust 1.50. I ordered it as soon as it was available.
Both books are highly recommended, and they complement each other. The examples in Programming Rust are more extensive, while The Rust Programming Language is a little more easy going, and concentrates more on the details of the language.
Cargo is a tool you will most likely use all the time with Rust, and it also has its own
online book, The Cargo Book. If you want
to dig deeper than cargo run
, you need this book.
Finally, since Rust aces in making command-line tools, there is a book for that: Command Line Applications in Rust. It shows you how to parse command line arguments and how to package and distribute the tools you make.