This module explores two of Rust's most powerful features: ownership and borrowing. These features enable Rust to make memory safety guarantees without needing a garbage collector, unlike many other languages.

Learning objectives

In this module, you'll learn about:

  • The concept of ownership in Rust.
  • Moving and borrowing values.
  • Scoping rules and lifetimes.
  • Rust's pointer types, commonly called references.


  • You should have a basic understanding of Rust's primitive and collection types, as covered in the previous modules.