Rust takes a low-level systems programming approach to memory management, promising C-like performance. It does this without requiring a garbage collector by its system of memory ownership, borrowing, and lifetimes. The concepts are not new, but their combination and codification and the breadth of the safety given by them is.
We covered a whole lot of ground here in a subject that's probably the heaviest to grasp for a new Rust programmer. Getting fluent in all this takes quite an amount of work and various different approaches to the problem. The final exercises of this chapter are more free form, so as to give you a bit of breathing space after this grind.