Book Image

Rust Programming Cookbook

By : Claus Matzinger
Book Image

Rust Programming Cookbook

By: Claus Matzinger

Overview of this book

Rust 2018, Rust's first major milestone since version 1.0, brings more advancement in the Rust language. The Rust Programming Cookbook is a practical guide to help you overcome challenges when writing Rust code. This Rust book covers recipes for configuring Rust for different environments and architectural designs, and provides solutions to practical problems. It will also take you through Rust's core concepts, enabling you to create efficient, high-performance applications that use features such as zero-cost abstractions and improved memory management. As you progress, you'll delve into more advanced topics, including channels and actors, for building scalable, production-grade applications, and even get to grips with error handling, macros, and modularization to write maintainable code. You will then learn how to overcome common roadblocks when using Rust for systems programming, IoT, web development, and network programming. Finally, you'll discover what Rust 2018 has to offer for embedded programmers. By the end of the book, you'll have learned how to build fast and safe applications and services using Rust.
Table of Contents (12 chapters)

Going Further with Advanced Rust

There are no doubts as to the difficulties that the Rust language poses to the avid learner. However, if you are reading this, you have gone further than most and invested the time needed to improve. The language and the way it forces you to think about memory is going to introduce new concepts into your programming habits. Rust does not necessarily provide new tools to accomplish things, but the borrowing and ownership rules help us to concern ourselves more with scopes, lifetimes, and freeing memory appropriately, regardless of the language. Hence, let's go deeper into more advanced concepts in Rust in order to complete our understanding of the language – when, why, and how to apply concepts such as the following:

  • Creating meaningful numbers with enums
  • There is no null
  • Complex conditions with pattern matching
  • Implementing custom...