Forbid matching struct variants with tuple variant patterns

Fixes #19086.

Whilst the code that this PR renders invalid was never meant to be valid, this is still a...

[breaking-change]