Forbid unsized structs which are non-instantiable

Closes #16977 

r?
I still think the word "a" is necessary here. It should be more obvious if you get rid of the words "statically known": "it can never have size". Structs don't "have size", they "have **a** size". Therefore they should also "have **a** statically known size".