On Fri, Oct 09, 2020 at 07:26:02PM +0200, Markus Armbruster wrote: > John Snow <js...@redhat.com> writes: > > > The edge case is that if the name is '', this expression returns a > > string instead of a bool, which violates our declared type. > > > > In practice, module names are not allowed to be the empty string, but > > this constraint is not modeled for the type system. > > > > Signed-off-by: John Snow <js...@redhat.com> > > Reviewed-by: Cleber Rosa <cr...@redhat.com> > > Reviewed-by: Eduardo Habkost <ehabk...@redhat.com> > > Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> > > --- > > scripts/qapi/gen.py | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/scripts/qapi/gen.py b/scripts/qapi/gen.py > > index fff0c0acb6d..2c305c4f82c 100644 > > --- a/scripts/qapi/gen.py > > +++ b/scripts/qapi/gen.py > > @@ -241,7 +241,7 @@ def __init__(self, prefix, what, user_blurb, > > builtin_blurb, pydoc): > > > > @staticmethod > > def _is_user_module(name): > > - return name and not name.startswith('./') > > + return bool(name and not name.startswith('./')) > > return not (name is None or name.startswith('./') > > Looks slightly clearer to me.
That would have exactly the same behavior as the name is not None and name.startswith('./') expression we had in v1. -- Eduardo