Rust has a number of kinds of smart pointers, both in the standard library and defined by user [...]