volatile structs and unions should be owner-approved
description
Today, volatile structs and unions are essentially useless, because there are no invariants constraining their fields. Nevertheless, they arise in real code.
I see two ways to fix this. My preferred solution is to make volatile structs tacitly owner-approved. This would match what we do for volatile variables.
The second possibility would be to tacitly inline volatile structs. The main drawback of this solution is that it doesn't solve the problem for variables of volatile struct type. However, such variables are rare in practice, so this solution is probably workable also. (Moreover, we could handle them uniformly using local groups.)