On 11/09/2015 08:13 AM, Markus Armbruster wrote: > Markus Armbruster writes: > >> Eric Blake writes: >> >>> Right now, our ad hoc parser ensures that we cannot have a >>> flat union that introduces any qapi member names that would >>> conflict with the non-variant qapi members already present >>> from the union's base type (see flat-union-clash-member.json). >>> We want QAPISchemaObjectType.check() to make the same check, >>> so we can later reduce some of the ad hoc checks. >>> >>> There is no impact to alternates, which intentionally do not >>> need to call variants.check_clash() (there, at most one of >>> the variant's branches will be an ObjectType, and even if one >>> exists, we are not inlining the qapi members of that object >>> into a parent object, the way we do for unions). > > Yes. QAPISchemaObjectTypeVariants.check_clash() checks for each > variant's members clashing with other members in the same name space. > For alternates, there are no such other members. > > That said, should we add a comment to QAPISchemaAlternateType.check()? > Perhaps: > > # Not calling self.variant.check_clash(), because there's > # nothing to clash with. Sure; if there's another reason for a respin, I can add it here; otherwise, it's already slated to be added in my respin of the patches for redoing how alternates are laid out. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org