This should be a snapshot transition.
(Have fun mergining your stuff with this.)
In rustc, nested patterns were potentially matching when they shouldn't match, because a loop index wasn't being incremented. Fixed it and added one test case.