3 By now, you’ve learned the most commonly used parts of the Rust programming
4 language. Before we do one more project in Chapter 20, we’ll look at a few
5 aspects of the language you might run into every once in a while. You can use
6 this chapter as a reference for when you encounter any unknowns when using
7 Rust. The features you’ll learn to use in this chapter are useful in very
8 specific situations. Although you might not reach for them often, we want to
9 make sure you have a grasp of all the features Rust has to offer.
11 In this chapter, we’ll cover:
13 * Unsafe Rust: How to opt out of some of Rust’s guarantees and take
14 responsibility for manually upholding those guarantees
15 * Advanced lifetimes: Syntax for complex lifetime situations
16 * Advanced traits: Associated types, default type parameters, fully qualified
17 syntax, supertraits, and the newtype pattern in relation to traits
18 * Advanced types: More about the newtype pattern, type aliases, the *never*
19 type, and dynamically sized types
20 * Advanced functions and closures: Function pointers and returning closures
22 It’s a panoply of Rust features with something for everyone! Let’s dive in!