Scoping rules

Scopes play an important part in ownership and snapshots. That is, they indicate to the compiler when snapshots are valid, when values can be dropped, and when variables are created or destroyed.