diff --git a/mypy/checkstrformat.py b/mypy/checkstrformat.py index 2a4688be7b3e..a7418a12058f 100644 --- a/mypy/checkstrformat.py +++ b/mypy/checkstrformat.py @@ -867,7 +867,7 @@ def build_dict_type(self, expr: FormatStringExpr) -> Type: str_type = self.chk.named_generic_type("builtins.str", []) return self.chk.named_generic_type("typing.Mapping", [str_type, any_type]) else: - assert False, "There should not be UnicodeExpr on Python 3" + assert False, "Unreachable" def build_replacement_checkers( self, specifiers: List[ConversionSpecifier], context: Context, expr: FormatStringExpr diff --git a/mypy/server/deps.py b/mypy/server/deps.py index 2a876e3e5046..5c6afe73b284 100644 --- a/mypy/server/deps.py +++ b/mypy/server/deps.py @@ -225,7 +225,6 @@ def __init__( ) -> None: self.scope = Scope() self.type_map = type_map - self.python2 = python_version[0] == 2 # This attribute holds a mapping from target to names of type aliases # it depends on. These need to be processed specially, since they are # only present in expanded form in symbol tables. For example, after: @@ -603,11 +602,7 @@ def visit_for_stmt(self, o: ForStmt) -> None: self.add_attribute_dependency_for_expr(o.expr, "__iter__") self.add_attribute_dependency_for_expr(o.expr, "__getitem__") if o.inferred_iterator_type: - if self.python2: - method = "next" - else: - method = "__next__" - self.add_attribute_dependency(o.inferred_iterator_type, method) + self.add_attribute_dependency(o.inferred_iterator_type, "__next__") else: self.add_attribute_dependency_for_expr(o.expr, "__aiter__") if o.inferred_iterator_type: @@ -803,9 +798,6 @@ def visit_comparison_expr(self, e: ComparisonExpr) -> None: left = e.operands[i] right = e.operands[i + 1] self.process_binary_op(op, left, right) - if self.python2 and op in ("==", "!=", "<", "<=", ">", ">="): - self.add_operator_method_dependency(left, "__cmp__") - self.add_operator_method_dependency(right, "__cmp__") def process_binary_op(self, op: str, left: Expression, right: Expression) -> None: method = op_methods.get(op)