% 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 current edition: Ch 15.00 — Smart Pointers][2]** * [In the first edition: Ch 4.8 — Choosing your Guarantees][1] [1]: https://doc.rust-lang.org/1.30.0/book/first-edition/choosing-your-guarantees.html [2]: ch15-00-smart-pointers.html