diff --git a/mypy/semanal.py b/mypy/semanal.py index 024bb7960277..648207445f45 100644 --- a/mypy/semanal.py +++ b/mypy/semanal.py @@ -3327,7 +3327,10 @@ def name_not_defined(self, name: str, ctx: Context) -> None: def name_already_defined(self, name: str, ctx: Context, original_ctx: Optional[SymbolTableNode] = None) -> None: if original_ctx: - extra_msg = ' on line {}'.format(original_ctx.node.get_line()) + if original_ctx.node and original_ctx.node.get_line() != -1: + extra_msg = ' on line {}'.format(original_ctx.node.get_line()) + else: + extra_msg = ' (line unavailable; possibly an import)' else: extra_msg = '' self.fail("Name '{}' already defined{}".format(name, extra_msg), ctx)