diff --git a/mypy/types.py b/mypy/types.py index 0c000bbc6018..e6cf92e879b5 100644 --- a/mypy/types.py +++ b/mypy/types.py @@ -1252,21 +1252,21 @@ def serialize(self) -> JsonDict: def deserialize(cls, data: JsonDict) -> 'CallableType': assert data['.class'] == 'CallableType' # TODO: Set definition to the containing SymbolNode? - return CallableType([deserialize_type(t) for t in data['arg_types']], - [ArgKind(x) for x in data['arg_kinds']], - data['arg_names'], - deserialize_type(data['ret_type']), - Instance.deserialize(data['fallback']), - name=data['name'], - variables=[TypeVarType.deserialize(v) for v in data['variables']], - is_ellipsis_args=data['is_ellipsis_args'], - implicit=data['implicit'], - bound_args=[(None if t is None else deserialize_type(t)) - for t in data['bound_args']], - def_extras=data['def_extras'], - type_guard=(deserialize_type(data['type_guard']) - if data['type_guard'] is not None else None), - ) + return CallableType( + [deserialize_type(t) for t in data['arg_types']], + [ArgKind(x) for x in data['arg_kinds']], + data['arg_names'], + deserialize_type(data['ret_type']), + Instance.deserialize(data['fallback']), + name=data['name'], + variables=[cast(TypeVarLikeType, deserialize_type(v)) for v in data['variables']], + is_ellipsis_args=data['is_ellipsis_args'], + implicit=data['implicit'], + bound_args=[(None if t is None else deserialize_type(t)) for t in data['bound_args']], + def_extras=data['def_extras'], + type_guard=(deserialize_type(data['type_guard']) + if data['type_guard'] is not None else None), + ) class Overloaded(FunctionLike):