Fix #12285

Unit-like struct patterns are irrefutable, no need for a branch.
auto merge of #15388 : jakub-/rust/issue-12285, r=pcwalton

Unit-like struct patterns are irrefutable, no need for a branch.

And some cleanup while I'm at it.