From bee6609a6fca014c84833fceee3aa7b4079782db Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Wed, 27 Sep 2017 21:58:06 +0200 Subject: [PATCH] Restore the original logic on leaving partial types --- mypy/checker.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mypy/checker.py b/mypy/checker.py index 12baa465c835..a34fba9454fd 100644 --- a/mypy/checker.py +++ b/mypy/checker.py @@ -2659,10 +2659,11 @@ def enter_partial_types(self) -> Iterator[None]: if isinstance(var.type, PartialType) and var.type.type is None: # None partial type: assume variable is intended to have type None var.type = NoneTyp() - elif var not in self.partial_reported: - self.msg.fail(messages.NEED_ANNOTATION_FOR_VAR, context) + else: + if var not in self.partial_reported: + self.msg.fail(messages.NEED_ANNOTATION_FOR_VAR, context) + self.partial_reported.add(var) var.type = AnyType(TypeOfAny.from_error) - self.partial_reported.add(var) def find_partial_types(self, var: Var) -> Optional[Dict[Var, Context]]: for partial_types in reversed(self.partial_types):