I've noticed that empty struct are always at least a size of 1,
see [D explorer](https://godbolt.org/z/sGYcex4cf). There you can
see `%example.S = type { [1 x i8] }`
So te compiler inserts a dummy member so that that everything can
work as usual.
Big question is what is the problem if we specify that empty
struct is an error ?