Pattern
Lifetime And Interface Contracts
lifetime-and-contract-enforcement
Types and compilers enforce implicit contracts about object lifetimes and required member behavior, so mismatches—self-referential borrows, missing implementations, or calling atomic notifications after destruction—surface as rejected code or undefined behavior.