librustc: Make sure to run destructors in the right order when matching on moved value.

Inadvertently changed the order in which destructors ran in certain cases with #15076.

Fixes #15438.