To get the most out of this book
You should have some prior programming experience and, preferably, some knowledge about Rust. Reading the free, and excellent, introductory book The Rust Programming Language (https://doc.rust-lang.org/book/) should give you more than enough knowledge about Rust to follow along since any advanced topics will be explained step by step.
The ideal way to read this book is to have the book and a code editor open side by side. You should also have the accompanying repository available so you can refer to that if you encounter any issues.
Software/hardware covered in the book |
Operating system requirements |
Rust (version 1.51 or later) |
Windows, macOS, or Linux |
You need Rust installed. If you haven’t already, follow the instructions here: https://www.rust-lang.org/tools/install.
Some examples will require you to use Windows Subsystem for Linux (WSL) on Windows. If you’re following along on a Windows machine, I recommend that you enable WSL (https://learn.microsoft.com/en-us/windows/wsl/install) now and install Rust by following the instructions for installing Rust on WSL here: https://www.rust-lang.org/tools/install.
If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book’s GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.
The accompanying repository is organized in the following fashion:
- Code that belongs to a specific chapter is in that chapter’s folder (e.g.,
ch01
). - Each example is organized as a separate crate.
- The letters in front of the example names indicate in what order the different examples are presented in the book. For example, the
a-runtime
example comes before theb-reactor-executor
example. This way, they will be ordered chronologically (at least by default on most systems). - Some examples have a version postfixed with
-bonus
. These versions will be mentioned in the book text and often contain a specific variant of the example that might be interesting to check out but is not important to the topic at hand.