Rust 1.33 gives address-sensitive values a pinning contract
engineeringrustpinningmemorylibrariesPin restricts the operations available through a pointer so address-sensitive values can remain in place. The contract also covers storage lifetime, destructors and access to fields.