Pinning in Rust 233 Pinning in Rust The following diagram shows a slightly more complex self-referential struct so that we have something visual to help us understand: Figure 9. 3-Moving a self-referential struct with three fields At a very high level, pinning makes it possible to rely on data that has a stable memory address by disallowing any operation that might move it: Figure 9. 4-Moving a pinned struct The concept of pinning is pretty simple. The complex part is how it's implemented in the language and how it's used. 