Thanks, @arielb1, that’s how it seemed to me, too. I suppose an alternative would be to use a move
keyword to mark a match as consuming (or possibly to override Copy
semantics, and force a move?):
match move x { _ => () };
but difficulty in handling cases where a consuming destructuring isn’t easy is the main reason I stopped investigating this sort of mechanism when I looked at the problem.