The Rust ecosystem has grown considerably over the last year, and the 2018 edition, in particular, brought a significant push toward stabilization. The tooling is developing and important libraries are maturing to a point where many bigger companies use Rust in production.
One of the features of Rust is a steep learning curve—which is mostly due to a fundamental change in how to think about memory allocation. It is not uncommon for experienced programmers in other languages (such as C#) to feel overwhelmed with the way things are done in Rust. In this chapter, we will try to overcome this and lower the bar to get started!
In this chapter, we will cover the following recipes:
- Getting everything ready
- Working with the command line I/O
- Creating and using data types
- Controlling execution flow
- Splitting your code with crates and modules
- Writing tests and benchmarks
- Documenting your code
- Testing your documentation
- Sharing code among types
- Sequence types in Rust
- Debugging Rust