This allows empty structs in the type validator. Structs can be defined in IDL with any number of members, including 0 (which is also used in the XTypes Type Object data types). The IDL compiler C backend handles empty struct correctly, by not creating a C struct for the type, because C does not allow empty structs. But the type validator was incorrectly rejecting type meta-data for an empty struct, which is changed in this PR.
Empty unions are still not allowed in the validator, because there seems to be little practical value in supporting them (however the spec is not clear at this point).
This allows empty structs in the type validator. Structs can be defined in IDL with any number of members, including 0 (which is also used in the XTypes Type Object data types). The IDL compiler C backend handles empty struct correctly, by not creating a C struct for the type, because C does not allow empty structs. But the type validator was incorrectly rejecting type meta-data for an empty struct, which is changed in this PR.
Empty unions are still not allowed in the validator, because there seems to be little practical value in supporting them (however the spec is not clear at this point).
Fixes #2091