% Choosing your Guarantees

There is a new edition of the book and this is an old link.

> Smart pointers are data structures that act like a pointer, but they also have additional metadata and capabilities.
> The different smart pointers defined in Rust’s standard library provide extra functionality beyond what references provide.

```rust
let b = Box::new(5);
println!("b = {}", b);
```

---

Here are the relevant sections in the new and old books:

* **[In the second edition: Ch 15.00 — Smart Pointers][2]**
* [In the first edition: Ch 4.8 — Choosing your Guarantees][1]

[1]: first-edition/choosing-your-guarantees.html
[2]: second-edition/ch15-00-smart-pointers.html
