Accelerant Learning/The Accelerated Guide to Smart Pointers in Rust

  • $19

The Accelerated Guide to Smart Pointers in Rust

This book on Rust's smart pointer types is useful even for
programmers who are not exactly sure what a smart pointer is.

About the book

We embark on a journey to explore the various types of smart pointers available in Rust, their use cases, and how they contribute to managing memory safely and efficiently. By reading this guide, you'll learn what smart pointers are, how to use them and how to build your own.

In some sense, they are the essence of Rust's "zero-cost abstraction" philosophy, whereby you only pay for what you use.

Smart pointers are powerful tools that provide additional functionality and guarantees compared to raw pointers. If you're unsure what a raw pointer is, that's okay, we'll discuss that too.

We'll cover the core smart pointer types in Rust, including Box<T>, Rc<T>, Arc<T>, RefCell<T>, and Mutex<T>. Each type will be thoroughly explained, accompanied by practical code examples that are linked directly in the Rust playground, so you can run them in your web browser.

Whether you are a Rust enthusiast, a curious learner, or a seasoned developer looking to enhance your memory management skills, this guide is here to support your journey. So let's dive in and unlock the power of smart pointers in Rust!
This was the best Rust book I didn't know I needed. Coming from Go, I've never heard the term "smart pointer". I highly recommend. Concise and fluff-free. I was able to read it in a morning.

David Nix

via Twitter

Highly recommend it. Best guide on the topic so far 🦀

Timur Guvenkaya

via Twitter

Contents

  • Introduction
  • Defining smart pointers
    • Ownership
    • Borrowing
    • Lifetimes
  • Understanding Rust
    Defining smart pointers, again
  • Why use them?
    • Automatic memory management
    • Prevent data races
    • Add super powers to pointers
    • Simplify code
  • Stdlib's smart pointers
    • Box<T>
    • Rc<T>
    • Arc<T>
    • RefCell<T>
    • Mutex<T>
    • RwLock<T>
  • Building your own smart pointers
    • Drop
    • Deref
    • DerefMut
  • Extension topics
    • Cyclic data structures
    • Rc<T> from scratch
    • PhantomData<T>
  • Recap
  • Cheat sheet
  • Afterword
  • About Tim McNamara

  • $19

The Accelerated Guide to Smart Pointers in Rust

A short textbook for anyone who's interested in understanding about Rust's smart pointers, including people who don't know what smart pointers are.