Four-and-three-quarters stars; review applies to the 2nd Edition. This is a damn'd thick, square book, and honestly, it could easily have even longer than its 700+ pages, and I would still have read it cover-to-cover and not regretted it.
This book serves both as a reference book and as a tutorial -- and I was glad I had a print copy as I was frequently flipping back to earlier parts of the book as it definitely builds on what been presented earlier. The Rust language is not a simple language, and this book not contained syntax and behavior, but also some implementation and philosophy of the language and some discussion of its idiomatic use.
Are there places where I would have liked more information? Yes, there are, but given the length of the book, I can see why those topics weren't covered. The only topic I felt was really missing was a brief discussion of how best to write Rust libraries that can be called from C or C++ (yes, that information is available on the Internet, but so is every single other thing in this book). I feel this is at least as important as how to call C/C++ libraries from Rust, which is covered.
One thing that did bug me a little was author's explanation about how much better some Rust feature or another was so much better than what you had to do in C/C++ sometimes sounded a bit like a hard sell to me, although it was probably just authorial enthusiasm. No one writes a book this long without a whole lot of enthusiasm!
The examples are full of nerdy in-jokes and I had fun looking for the references.
Did I learn to program in Rust from reading this book? No, I did not -- because I only read it and did not code along with it. But if I end up working on a project for which Rust is the appropriate language, having read this will have given me a very good start.