Forbid unsized structs which are non-instantiable

Closes #16977 

r?
Abbreviated grammar is fine. But the lack of an "a" looks like a straight-up error, not an abbreviation. It would be like emitting an error for `let x;` with the string "this variable must have value", instead of the much more correct "this variable must have a value".=