Agree that "Programming Rust" is a good book. It is thorough and provides good explanation about many trickier aspects of the language. However my biggest peeve about the book is lack of good complete working examples and exercises. I worked through the book and learnt much about Rust, but midway into the book I wasn't sure how good I am in writing code in Rust to solve a programming problem. IMO a side project, or some rust exercises that cover the topic one is reading in the book is a good way to work through this book.