What happens when I define a member key multiple times in a struct or
union type?
If I do it directly, the parser rejects the duplicate key in
get_members(). Covered by tests/qapi-schema/duplicate-key.json.
What if I hide the duplicate in a base type?
If I stick this into qapi-schema-test.json:
{ 'type': 'Base', 'data': { 'foo': 'str', 'bar': 'str' } }
{ 'type': 'Clash', 'base': 'Base', 'data': { 'foo': 'int' } }
{ 'command': 'clash', 'data': 'Clash' }
the resulting test-qmp-commands.h declares qmp_clash(), but
test-qmp-marshal.c doesn't define it. WTF?!?