John Snow <js...@redhat.com> writes: > This function is a bit hard to type as-is; mypy needs some assertions to > assist with the type narrowing. > > Signed-off-by: John Snow <js...@redhat.com> > --- > scripts/qapi/schema.py | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py > index a1094283828..3308f334872 100644 > --- a/scripts/qapi/schema.py > +++ b/scripts/qapi/schema.py > @@ -968,8 +968,12 @@ def lookup_entity(self, name, typ=None): > return None > return ent > > - def lookup_type(self, name): > - return self.lookup_entity(name, QAPISchemaType) > + def lookup_type(self, name: str) -> Optional[QAPISchemaType]:
Any particular reason not to delay the type hints until PATCH 16? > + typ = self.lookup_entity(name, QAPISchemaType) > + if typ is None: > + return None > + assert isinstance(typ, QAPISchemaType) > + return typ Would typ = self.lookup_entity(name, QAPISchemaType) assert isinstance(typ, Optional[QAPISchemaType]) return typ work? > > def resolve_type(self, name, info, what): > typ = self.lookup_type(name)