Eric Blake <ebl...@redhat.com> writes: > From: Markus Armbruster <arm...@redhat.com> > > This hunk > > @@ -964,6 +965,7 @@ class QAPISchemaObjectType(QAPISchemaType): > members = [] > seen = {} > for m in members: > + assert c_name(m.name) not in seen > seen[m.name] = m > for m in self.local_members: > m.check(schema, members, seen) > > is plainly broken. > > Asserting the members inherited from base don't clash is somewhat > redundant, because self.base.check() just checked that. But it > doesn't hurt. > > The idea to use c_name(m.name) instead of m.name for collision > checking is sound, because we need to catch clashes between the m.name > and between the c_name(m.name), and when two m.name clash, then their > c_name() also clash. > > However, using c_name(m.name) instead of m.name in one of several > places doesn't work. See the very next line. > > Keep the assertion, but drop the c_name() for now. A future commit > will bring it back. > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > Message-Id: <1446559499-26984-4-git-send-email-arm...@redhat.com> > [change TAB to space]
In the commit message. You had me wondering briefly whether my Emacs configuration to avoid tabs in QEMU code failed :) > Signed-off-by: Eric Blake <ebl...@redhat.com> > > --- > v9: new patch > --- > scripts/qapi.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/qapi.py b/scripts/qapi.py > index 145dbfe..c910715 100644 > --- a/scripts/qapi.py > +++ b/scripts/qapi.py > @@ -987,7 +987,7 @@ class QAPISchemaObjectType(QAPISchemaType): > members = [] > seen = {} > for m in members: > - assert c_name(m.name) not in seen > + assert m.name not in seen > seen[m.name] = m > for m in self.local_members: > m.check(schema, members, seen)