Re: [Qemu-devel] [PATCH v8 07/17] qapi: Rework collision assertions

2015-11-03 Thread Eric Blake
On 11/03/2015 12:56 AM, Markus Armbruster wrote: > Eric Blake writes: > >> On 11/02/2015 08:37 AM, Markus Armbruster wrote: >> >>> >>> Not checked: variant's members don't collide with non-variant members. >>> I think this check got lost when we simplified >>> QAPISchemaObjectTypeVariants to hold

Re: [Qemu-devel] [PATCH v8 07/17] qapi: Rework collision assertions

2015-11-02 Thread Markus Armbruster
Eric Blake writes: > On 11/02/2015 08:37 AM, Markus Armbruster wrote: > >> >> Not checked: variant's members don't collide with non-variant members. >> I think this check got lost when we simplified >> QAPISchemaObjectTypeVariants to hold a single member. > > Yep, I found the culprit: in your v2

Re: [Qemu-devel] [PATCH v8 07/17] qapi: Rework collision assertions

2015-11-02 Thread Eric Blake
On 11/02/2015 08:37 AM, Markus Armbruster wrote: > > Not checked: variant's members don't collide with non-variant members. > I think this check got lost when we simplified > QAPISchemaObjectTypeVariants to hold a single member. Yep, I found the culprit: in your v2 proposal for QAPISchema, you h

Re: [Qemu-devel] [PATCH v8 07/17] qapi: Rework collision assertions

2015-11-02 Thread Eric Blake
On 11/02/2015 08:37 AM, Markus Armbruster wrote: > Eric Blake writes: > >> Now that we have separate namespaces for QMP vs. tag values, > > What's the "QMP namespace"? I guess I need to be more explicit :) In the generated C struct for a qapi object, we now have two separate namespaces: struc

Re: [Qemu-devel] [PATCH v8 07/17] qapi: Rework collision assertions

2015-11-02 Thread Markus Armbruster
Eric Blake writes: > Now that we have separate namespaces for QMP vs. tag values, What's the "QMP namespace"? > we can simplify how the QAPISchema*.check() methods check for > collisions. I *guess* the point of this patch is dropping checks that are obsolete now tag values no longer collide wi

[Qemu-devel] [PATCH v8 07/17] qapi: Rework collision assertions

2015-10-28 Thread Eric Blake
Now that we have separate namespaces for QMP vs. tag values, we can simplify how the QAPISchema*.check() methods check for collisions. Each QAPISchemaObjectTypeMember check() call is given a single set of names it must not collide with; this set is either the QMP names (when this member is used by