Why does match keep temporary values in scope through arms?

Yandros adresses this in a link in that thread (source, emphasis not mine):