Upgrading mypy 0.521 to 0.530
Unknown0.521 → 0.530
Fetching 1 release from GitHub…0 / 1
UnknownUpgrade verdict
DepDelta is still reading the notes for this range, so breaking changes can't be ruled out yet.
In plain terms
- DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
- This page updates as the notes come in.
Must act Still reading release notes
DepDelta is still reading the release notes in this range. This updates as they come in.
Moves typed-ast 1.0.4 → 1.1.2. Your build may pick other versions.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- changed:
function apply_generic_arguments(callable: CallableType, types: List[Type], msg: MessageBuilder, context: Context) -> CallableType → function apply_generic_arguments(callable: CallableType, orig_types: Sequence[Optional[Type]], msg: MessageBuilder, context: Context) -> CallableType
- changed:
method ConditionalTypeBinder.assign_type(expr: Expression, type: Type, declared_type: Type, restrict_any: bool=…) -> None → method ConditionalTypeBinder.assign_type(expr: Expression, type: Type, declared_type: Optional[Type], restrict_any: bool=…) -> None
- changed:
constructor State(id: Optional[str], path: Optional[str], source: Optional[str], manager: BuildManager, caller_state: State=…, caller_line: int=…, ancestor_for: State=…, root_source: bool=…) -> None → constructor State(id: Optional[str], path: Optional[str], source: Optional[str], manager: BuildManager, caller_state: Optional[State]=…, caller_line: int=…, ancestor_for: Optional[State]=…, root_source: bool=…) -> None - changed:
function build(sources: List[BuildSource], options: Options, alt_lib_path: str=…, bin_dir: str=…) -> BuildResult → function build(sources: List[BuildSource], options: Options, alt_lib_path: Optional[str]=…, bin_dir: Optional[str]=…) -> BuildResult - changed:
function find_module(id: str, lib_path_arg: Iterable[str]) -> str → function find_module(id: str, lib_path_arg: Iterable[str]) -> Optional[str] - changed:
function validate_meta(meta: Optional[CacheMeta], id: str, path: str, manager: BuildManager) -> Optional[CacheMeta] → function validate_meta(meta: Optional[CacheMeta], id: str, path: Optional[str], ignore_all: bool, manager: BuildManager) -> Optional[CacheMeta] - changed:
function write_cache(id: str, path: str, tree: MypyFile, dependencies: List[str], suppressed: List[str], child_modules: List[str], dep_prios: List[int], old_interface_hash: str, source_hash: str, manager: BuildManager) -> str → function write_cache(id: str, path: str, tree: MypyFile, dependencies: List[str], suppressed: List[str], child_modules: List[str], dep_prios: List[int], old_interface_hash: str, source_hash: str, ignore_all: bool, manager: BuildManager) -> str - added:
class FreshState(State) - added:
field FreshState.meta
- changed:
function is_node_static(node: Node) -> Optional[bool] → function is_node_static(node: Optional[Node]) -> Optional[bool] - changed:
function partition_by_callable(type: Optional[Type]) -> Tuple[List[Type], List[Type]] → function partition_by_callable(type: Type) -> Tuple[List[Type], List[Type]] - changed:
method TypeChecker.accept_loop(body: Statement, else_body: Statement=…, *, exit_condition: Expression=…) -> None → method TypeChecker.accept_loop(body: Statement, else_body: Optional[Statement]=…, *, exit_condition: Optional[Expression]=…) -> None - changed:
method TypeChecker.check_async_with_item(expr: Expression, target: Expression, infer_lvalue_type: bool) -> None → method TypeChecker.check_async_with_item(expr: Expression, target: Optional[Expression], infer_lvalue_type: bool) -> None - changed:
method TypeChecker.check_compatibility_classvar_super(node: Var, base: TypeInfo, base_node: Node) -> bool → method TypeChecker.check_compatibility_classvar_super(node: Var, base: TypeInfo, base_node: Optional[Node]) -> bool - changed:
method TypeChecker.check_func_def(defn: FuncItem, typ: CallableType, name: str) -> None → method TypeChecker.check_func_def(defn: FuncItem, typ: CallableType, name: Optional[str]) -> None - changed:
method TypeChecker.check_func_item(defn: FuncItem, type_override: CallableType=…, name: str=…) -> None → method TypeChecker.check_func_item(defn: FuncItem, type_override: Optional[CallableType]=…, name: Optional[str]=…) -> None - changed:
method TypeChecker.check_getattr_method(typ: CallableType, context: Context) -> None → method TypeChecker.check_getattr_method(typ: CallableType, context: Context, name: str) -> None - changed:
method TypeChecker.check_method_or_accessor_override_for_base(defn: FuncBase, base: TypeInfo) -> None → method TypeChecker.check_method_or_accessor_override_for_base(defn: Union[FuncBase, Decorator], base: TypeInfo) -> None - changed:
method TypeChecker.check_method_override(defn: FuncBase) -> None → method TypeChecker.check_method_override(defn: Union[FuncBase, Decorator]) -> None - changed:
method TypeChecker.check_method_override_for_base_with_name(defn: FuncBase, name: str, base: TypeInfo) -> None → method TypeChecker.check_method_override_for_base_with_name(defn: Union[FuncBase, Decorator], name: str, base: TypeInfo) -> None - changed:
method TypeChecker.check_multi_assignment(lvalues: List[Lvalue], rvalue: Expression, context: Context, infer_lvalue_type: bool=…, msg: str=…) -> None → method TypeChecker.check_multi_assignment(lvalues: List[Lvalue], rvalue: Expression, context: Context, infer_lvalue_type: bool=…, msg: Optional[str]=…) -> None - changed:
method TypeChecker.check_second_pass(todo: List[DeferredNode]=…) -> bool → method TypeChecker.check_second_pass(todo: Optional[List[DeferredNode]]=…) -> bool - changed:
method TypeChecker.check_simple_assignment(lvalue_type: Type, rvalue: Expression, context: Context, msg: str=…, lvalue_name: str=…, rvalue_name: str=…) -> Type → method TypeChecker.check_simple_assignment(lvalue_type: Optional[Type], rvalue: Expression, context: Context, msg: str=…, lvalue_name: str=…, rvalue_name: str=…) -> Type - changed:
method TypeChecker.check_subtype(subtype: Type, supertype: Type, context: Context, msg: str=…, subtype_label: str=…, supertype_label: str=…) -> bool → method TypeChecker.check_subtype(subtype: Type, supertype: Type, context: Context, msg: str=…, subtype_label: Optional[str]=…, supertype_label: Optional[str]=…) -> bool - changed:
method TypeChecker.check_with_item(expr: Expression, target: Expression, infer_lvalue_type: bool) -> None → method TypeChecker.check_with_item(expr: Expression, target: Optional[Expression], infer_lvalue_type: bool) -> None - changed:
method TypeChecker.note(msg: str, context: Context) -> None → method TypeChecker.note(msg: str, context: Context, offset: int=…) -> None - changed:
method TypeChecker.temp_node(t: Type, context: Context=…) -> TempNode → method TypeChecker.temp_node(t: Type, context: Optional[Context]=…) -> TempNode - added:
field TypeChecker.inferred_attribute_types - added:
field TypeChecker.partial_reported - added:
function is_static(func: Union[FuncBase, Decorator]) -> bool - added:
function is_typed_callable(c: Optional[Type]) -> bool - added:
function is_untyped_decorator(typ: Optional[Type]) -> bool - added:
method TypeChecker.check_for_missing_annotations(fdef: FuncItem) -> None - added:
method TypeChecker.check_for_untyped_decorator(func: FuncDef, dec_type: Type, dec_expr: Expression) -> None - added:
method TypeChecker.check_protocol_variance(defn: ClassDef) -> None - added:
method TypeChecker.enter_attribute_inference_context() -> Iterator[None]
- changed:
function has_erased_component(t: Type) -> bool → function has_erased_component(t: Optional[Type]) -> bool - changed:
function map_actuals_to_formals(caller_kinds: List[int], caller_names: List[str], callee_kinds: List[int], callee_names: List[str], caller_arg_type: Callable[[int], Type]) -> List[List[int]] → function map_actuals_to_formals(caller_kinds: List[int], caller_names: Optional[Sequence[Optional[str]]], callee_kinds: List[int], callee_names: List[Optional[str]], caller_arg_type: Callable[[int], Type]) -> List[List[int]] - changed:
method ExpressionChecker.accept(node: Expression, type_context: Type=…, allow_none_return: bool=…, always_allow_any: bool=…) -> Type → method ExpressionChecker.accept(node: Expression, type_context: Optional[Type]=…, allow_none_return: bool=…, always_allow_any: bool=…) -> Type - changed:
method ExpressionChecker.apply_generic_arguments(callable: CallableType, types: List[Type], context: Context) -> CallableType → method ExpressionChecker.apply_generic_arguments(callable: CallableType, types: Sequence[Optional[Type]], context: Context) -> CallableType - changed:
method ExpressionChecker.apply_inferred_arguments(callee_type: CallableType, inferred_args: List[Type], context: Context) -> CallableType → method ExpressionChecker.apply_inferred_arguments(callee_type: CallableType, inferred_args: Sequence[Optional[Type]], context: Context) -> CallableType - changed:
method ExpressionChecker.check_argument_count(callee: CallableType, actual_types: List[Type], actual_kinds: List[int], actual_names: List[str], formal_to_actual: List[List[int]], context: Context, messages: Optional[MessageBuilder]) -> bool → method ExpressionChecker.check_argument_count(callee: CallableType, actual_types: List[Type], actual_kinds: List[int], actual_names: Optional[Sequence[Optional[str]]], formal_to_actual: List[List[int]], context: Optional[Context], messages: Optional[MessageBuilder]) -> bool - changed:
method ExpressionChecker.check_argument_types(arg_types: List[Type], arg_kinds: List[int], callee: CallableType, formal_to_actual: List[List[int]], context: Context, messages: MessageBuilder=…, check_arg: ArgChecker=…) -> None → method ExpressionChecker.check_argument_types(arg_types: List[Type], arg_kinds: List[int], callee: CallableType, formal_to_actual: List[List[int]], context: Context, messages: Optional[MessageBuilder]=…, check_arg: Optional[ArgChecker]=…) -> None - changed:
method ExpressionChecker.check_call(callee: Type, args: List[Expression], arg_kinds: List[int], context: Context, arg_names: List[str]=…, callable_node: Expression=…, arg_messages: MessageBuilder=…, callable_name: Optional[str]=…, object_type: Optional[Type]=…) -> Tuple[Type, Type] → method ExpressionChecker.check_call(callee: Type, args: List[Expression], arg_kinds: List[int], context: Context, arg_names: Optional[Sequence[Optional[str]]]=…, callable_node: Optional[Expression]=…, arg_messages: Optional[MessageBuilder]=…, callable_name: Optional[str]=…, object_type: Optional[Type]=…) -> Tuple[Type, Type] - changed:
method ExpressionChecker.check_typeddict_call(callee: TypedDictType, arg_kinds: List[int], arg_names: List[str], args: List[Expression], context: Context) -> Type → method ExpressionChecker.check_typeddict_call(callee: TypedDictType, arg_kinds: List[int], arg_names: Sequence[Optional[str]], args: List[Expression], context: Context) -> Type - changed:
method ExpressionChecker.erased_signature_similarity(arg_types: List[Type], arg_kinds: List[int], arg_names: List[str], callee: CallableType, context: Context) -> int → method ExpressionChecker.erased_signature_similarity(arg_types: List[Type], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]], callee: CallableType, context: Context) -> int - changed:
method ExpressionChecker.find_typeddict_context(context: Type) -> Optional[TypedDictType] → method ExpressionChecker.find_typeddict_context(context: Optional[Type]) -> Optional[TypedDictType] - changed:
method ExpressionChecker.infer_function_type_arguments_pass2(callee_type: CallableType, args: List[Expression], arg_kinds: List[int], formal_to_actual: List[List[int]], inferred_args: List[Type], context: Context) -> Tuple[CallableType, List[Type]] → method ExpressionChecker.infer_function_type_arguments_pass2(callee_type: CallableType, args: List[Expression], arg_kinds: List[int], formal_to_actual: List[List[int]], old_inferred_args: Sequence[Optional[Type]], context: Context) -> Tuple[CallableType, List[Optional[Type]]] - changed:
method ExpressionChecker.match_signature_types(arg_types: List[Type], arg_kinds: List[int], arg_names: List[str], callee: CallableType, context: Context) -> bool → method ExpressionChecker.match_signature_types(arg_types: List[Type], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]], callee: CallableType, context: Context) -> bool - changed:
method ExpressionChecker.overload_call_target(arg_types: List[Type], arg_kinds: List[int], arg_names: List[str], overload: Overloaded, context: Context, messages: MessageBuilder=…) -> Type → method ExpressionChecker.overload_call_target(arg_types: List[Type], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]], overload: Overloaded, context: Context, messages: Optional[MessageBuilder]=…) -> Type - added:
function all_same_types(types: Iterable[Type]) -> bool - added:
function any_arg_causes_overload_ambiguity(items: List[CallableType], arg_types: List[Type], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]]) -> bool - added:
function map_formals_to_actuals(caller_kinds: List[int], caller_names: Optional[Sequence[Optional[str]]], callee_kinds: List[int], callee_names: List[Optional[str]], caller_arg_type: Callable[[int], Type]) -> List[List[int]] - added:
method ExpressionChecker.check_protocol_issubclass(e: CallExpr) -> None - added:
method ExpressionChecker.check_runtime_protocol_test(e: CallExpr) -> None - added:
method ExpressionChecker.check_super_arguments(e: SuperExpr) -> None
- changed:
function analyze_member_access(name: str, typ: Type, node: Context, is_lvalue: bool, is_super: bool, is_operator: bool, builtin_type: Callable[[str], Instance], not_ready_callback: Callable[[str, Context], None], msg: MessageBuilder, *, original_type: Type, chk: mypy.checker.TypeChecker, override_info: TypeInfo=…) -> Type → function analyze_member_access(name: str, typ: Type, node: Context, is_lvalue: bool, is_super: bool, is_operator: bool, builtin_type: Callable[[str], Instance], not_ready_callback: Callable[[str, Context], None], msg: MessageBuilder, *, original_type: Type, chk: mypy.checker.TypeChecker, override_info: Optional[TypeInfo]=…) -> Type - changed:
function bind_self(method: F, original_type: Type=…, is_classmethod: bool=…) -> F → function bind_self(method: F, original_type: Optional[Type]=…, is_classmethod: bool=…) -> F
- changed:
method StringFormatterChecker.accept(expr: Expression, context: Type=…) -> Type → method StringFormatterChecker.accept(expr: Expression, context: Optional[Type]=…) -> Type
- changed:
function infer_constraints_for_callable(callee: CallableType, arg_types: List[Optional[Type]], arg_kinds: List[int], formal_to_actual: List[List[int]]) -> List[Constraint] → function infer_constraints_for_callable(callee: CallableType, arg_types: Sequence[Optional[Type]], arg_kinds: List[int], formal_to_actual: List[List[int]]) -> List[Constraint] - changed:
method ConstraintBuilderVisitor.infer_against_any(types: Iterable[Type]) -> List[Constraint] → method ConstraintBuilderVisitor.infer_against_any(types: Iterable[Type], any_type: AnyType) -> List[Constraint] - added:
method ConstraintBuilderVisitor.infer_constraints_from_protocol_members(res: List[Constraint], instance: Instance, template: Instance, subtype: Type, protocol: Instance) -> None
- added:
variable PYTHON3_VERSION_MIN
- changed:
constructor ErrorInfo(import_ctx: List[Tuple[str, int]], file: str, module: Optional[str], typ: Optional[str], function_or_member: Optional[str], line: int, column: int, severity: str, message: str, blocker: bool, only_once: bool, origin: Tuple[str, int]=…, target: str=…) -> None → constructor ErrorInfo(import_ctx: List[Tuple[str, int]], file: str, module: Optional[str], typ: Optional[str], function_or_member: Optional[str], line: int, column: int, severity: str, message: str, blocker: bool, only_once: bool, origin: Optional[Tuple[str, int]]=…, target: Optional[str]=…) -> None - changed:
function report_internal_error(err: Exception, file: str, line: int, errors: Errors, options: Options) -> None → function report_internal_error(err: Exception, file: Optional[str], line: int, errors: Errors, options: Options) -> None - changed:
method Errors.report(line: int, column: int, message: str, blocker: bool=…, severity: str=…, file: str=…, only_once: bool=…, origin_line: int=…) -> None → method Errors.report(line: int, column: int, message: str, blocker: bool=…, severity: str=…, file: Optional[str]=…, only_once: bool=…, origin_line: Optional[int]=…, offset: int=…) -> None - changed:
method Errors.set_file(file: str, module: Optional[str], ignored_lines: Set[int]=…) -> None → method Errors.set_file(file: str, module: Optional[str], ignored_lines: Optional[Set[int]]=…) -> None - added:
variable allowed_duplicates
- removed:
method ASTConverter.visit_NoneType(n: Any) -> Optional[Node] - removed:
method TypeConverter.visit_NoneType(n: Any) -> Type - changed:
constructor TypeConverter(errors: Errors, line: int=…) -> None → constructor TypeConverter(errors: Optional[Errors], line: int=…) -> None - changed:
function find(f: Callable[[V], bool], seq: Sequence[V]) -> V → function find(f: Callable[[V], bool], seq: Sequence[V]) -> Optional[V] - changed:
function parse(source: Union[str, bytes], fnam: str=…, errors: Errors=…, options: Options=…) -> MypyFile → function parse(source: Union[str, bytes], fnam: str, errors: Optional[Errors]=…, options: Options=…) -> MypyFile - changed:
method ASTConverter.as_block(stmts: List[ast3.stmt], lineno: int) -> Block → method ASTConverter.as_block(stmts: List[ast3.stmt], lineno: int) -> Optional[Block] - changed:
method ASTConverter.set_type_optional(type: Type, initializer: Expression) -> None → method ASTConverter.set_type_optional(type: Optional[Type], initializer: Optional[Expression]) -> None - changed:
method TypeConverter.parent() -> ast3.AST → method TypeConverter.parent() -> Optional[ast3.AST] - changed:
method TypeConverter.translate_argument_list(l: Sequence[ast3.AST]) -> TypeList → method TypeConverter.translate_argument_list(l: Sequence[ast3.expr]) -> TypeList - changed:
method TypeConverter.translate_expr_list(l: Sequence[ast3.AST]) -> List[Type] → method TypeConverter.translate_expr_list(l: Sequence[ast3.expr]) -> List[Type] - changed:
method TypeConverter.visit(node: ast3.AST) -> Type → method TypeConverter.visit(node: ast3.expr) -> Type | (node: Optional[ast3.AST]) -> Optional[Type] - added:
method ASTConverter.as_required_block(stmts: List[ast3.stmt], lineno: int) -> Block - added:
method ASTConverter.visit(node: Optional[ast3.AST]) -> Any
- removed:
method ASTConverter.visit_NoneType(n: Any) -> Optional[Node] - changed:
function find(f: Callable[[V], bool], seq: Sequence[V]) -> V → function find(f: Callable[[V], bool], seq: Sequence[V]) -> Optional[V] - changed:
function parse(source: Union[str, bytes], fnam: str=…, errors: Errors=…, options: Options=…) -> MypyFile → function parse(source: Union[str, bytes], fnam: str, errors: Optional[Errors]=…, options: Options=…) -> MypyFile - changed:
method ASTConverter.as_block(stmts: List[ast27.stmt], lineno: int) -> Block → method ASTConverter.as_block(stmts: List[ast27.stmt], lineno: int) -> Optional[Block] - changed:
method ASTConverter.set_type_optional(type: Type, initializer: Expression) -> None → method ASTConverter.set_type_optional(type: Optional[Type], initializer: Optional[Expression]) -> None - added:
method ASTConverter.as_required_block(stmts: List[ast27.stmt], lineno: int) -> Block - added:
method ASTConverter.visit(node: Optional[ast27.AST]) -> Any
- added:
method TypeIndirectionVisitor.visit_forwardref_type(t: types.ForwardRef) -> Set[str]
- changed:
function infer_function_type_arguments(callee_type: CallableType, arg_types: List[Optional[Type]], arg_kinds: List[int], formal_to_actual: List[List[int]], strict: bool=…) -> List[Optional[Type]] → function infer_function_type_arguments(callee_type: CallableType, arg_types: Sequence[Optional[Type]], arg_kinds: List[int], formal_to_actual: List[List[int]], strict: bool=…) -> List[Optional[Type]]
- added:
function literal(e: Expression) -> int - added:
function literal_hash(e: Expression) -> Optional[Key] - added:
function subkeys(key: Key) -> Iterable[Key] - added:
variable Key
- changed:
constructor AugmentedHelpFormatter(prog: Optional[str]) -> None → constructor AugmentedHelpFormatter(prog: str) -> None - changed:
function main(script_path: Optional[str], args: List[str]=…) -> None → function main(script_path: Optional[str], args: Optional[List[str]]=…) -> None - changed:
function type_check_only(sources: List[BuildSource], bin_dir: str, options: Options) -> BuildResult → function type_check_only(sources: List[BuildSource], bin_dir: Optional[str], options: Options) -> BuildResult
- removed:
method MessageBuilder.format_simple(typ: Type, verbosity: int=…) -> str - removed:
variable RETURN_ANY - changed:
method MessageBuilder.does_not_return_value(callee_type: Type, context: Context) -> None → method MessageBuilder.does_not_return_value(callee_type: Optional[Type], context: Context) -> None - changed:
method MessageBuilder.fail(msg: str, context: Context, file: str=…, origin: Context=…) -> None → method MessageBuilder.fail(msg: str, context: Optional[Context], file: Optional[str]=…, origin: Optional[Context]=…) -> None - changed:
method MessageBuilder.format_distinctly(type1: Type, type2: Type) -> Tuple[str, str] → method MessageBuilder.format_distinctly(type1: Type, type2: Type, bare: bool=…) -> Tuple[str, str] - changed:
method MessageBuilder.incompatible_typevar_value(callee: CallableType, index: int, type: Type, context: Context) -> None → method MessageBuilder.incompatible_typevar_value(callee: CallableType, typ: Type, typevar_name: str, context: Context) -> None - changed:
method MessageBuilder.note(msg: str, context: Context, file: str=…, origin: Context=…) -> None → method MessageBuilder.note(msg: str, context: Context, file: Optional[str]=…, origin: Optional[Context]=…, offset: int=…) -> None - changed:
method MessageBuilder.report(msg: str, context: Context, severity: str, file: str=…, origin: Context=…) -> None → method MessageBuilder.report(msg: str, context: Optional[Context], severity: str, file: Optional[str]=…, origin: Optional[Context]=…, offset: int=…) -> None - changed:
method MessageBuilder.too_few_arguments(callee: CallableType, context: Context, argument_names: List[str]) -> None → method MessageBuilder.too_few_arguments(callee: CallableType, context: Context, argument_names: Optional[Sequence[Optional[str]]]) -> None - changed:
method MessageBuilder.warn(msg: str, context: Context, file: str=…, origin: Context=…) -> None → method MessageBuilder.warn(msg: str, context: Context, file: Optional[str]=…, origin: Optional[Context]=…) -> None - added:
function append_invariance_notes(notes: List[str], arg_type: Instance, expected_type: Instance) -> List[str] - added:
function get_bad_protocol_flags(left: Instance, right: Instance) -> List[Tuple[str, Set[int], Set[int]]] - added:
function get_conflict_protocol_types(left: Instance, right: Instance) -> List[Tuple[str, Type, Type]] - added:
function get_missing_protocol_members(left: Instance, right: Instance) -> List[str] - added:
function variance_string(variance: int) -> str - added:
method MessageBuilder.bad_proto_variance(actual: int, tvar_name: str, expected: int, context: Context) -> None - added:
method MessageBuilder.concrete_only_assign(typ: Type, context: Context) -> None - added:
method MessageBuilder.concrete_only_call(typ: Type, context: Context) -> None - added:
method MessageBuilder.first_argument_for_super_must_be_type(actual: Type, context: Context) -> None - added:
method MessageBuilder.format_bare(typ: Type, verbosity: int=…) -> str - added:
method MessageBuilder.incorrectly_returning_any(typ: Type, context: Context) -> None - added:
method MessageBuilder.note_call(subtype: Type, call: Type, context: Context) -> None - added:
method MessageBuilder.pretty_callable(tp: CallableType) -> str - added:
method MessageBuilder.pretty_overload(tp: Overloaded, context: Context, offset: int, max_items: int) -> None - added:
method MessageBuilder.print_more(conflicts: Sequence[Any], context: Context, offset: int, max_items: int) -> None - added:
method MessageBuilder.quote_type_string(type_string: str) -> str - added:
method MessageBuilder.report_non_method_protocol(tp: TypeInfo, members: List[str], context: Context) -> None - added:
method MessageBuilder.report_protocol_problems(subtype: Union[Instance, TupleType, TypedDictType], supertype: Instance, context: Context) -> None - added:
method MessageBuilder.typed_function_untyped_decorator(func_name: str, context: Context) -> None - added:
variable INCOMPATIBLE_TYPEVAR_VALUE - added:
variable UNSUPPORTED_ARGUMENT_2_FOR_SUPER
- added:
class AssertionFailure(Exception) - added:
class ListSuite(Suite) - added:
class SkipTestCaseException(Exception) - added:
class Suite - added:
class TestCase - added:
constructor AssertionFailure(s: Optional[str]=…) -> None - added:
constructor ListSuite(suites: List[Suite]) -> None - added:
constructor Suite() -> None - added:
constructor TestCase(name: str, suite: Optional[Suite]=…, func: Optional[Callable[[], None]]=…) -> None - added:
function add_suites_from_module(suites: List[Suite], mod_name: str) -> None - added:
function assert_equal(a: object, b: object, fmt: str=…) -> None - added:
function assert_false(b: bool, msg: Optional[str]=…) -> None - added:
function assert_not_equal(a: object, b: object, fmt: str=…) -> None - added:
function assert_raises(typ: type, *rest: Any) -> None - added:
function assert_true(b: bool, msg: Optional[str]=…) -> None - added:
function assert_type(typ: type, value: object) -> None - added:
function clean_traceback(tb: List[str]) -> List[str] - added:
function fail() -> None - added:
function good_repr(obj: object) -> str - added:
function handle_failure(name: str, exc_type: type, exc_value: BaseException, exc_traceback: TracebackType) -> None - added:
function main(args: Optional[List[str]]=…) -> None - added:
function match_pattern(s: str, p: str) -> bool - added:
function run_single_test(name: str, test: Any) -> Tuple[bool, bool] - added:
function run_test_recursive(test: Any, num_total: int, num_fail: int, num_skip: int, prefix: str, depth: int) -> Tuple[int, int, int] - added:
function typename(t: type) -> str - added:
method Suite.add_test(test: Union[TestCase, Tuple[str, Callable[[], None]], Tuple[str, Suite]]) -> None - added:
method Suite.cases() -> List[Any] - added:
method Suite.init() -> None - added:
method Suite.set_up() -> None - added:
method Suite.skip() -> None - added:
method Suite.tear_down() -> None - added:
method TestCase.run() -> None - added:
method TestCase.set_up() -> None - added:
method TestCase.tear_down() -> None - added:
variable is_quiet - added:
variable is_verbose - added:
variable patterns - added:
variable times
- removed:
field BytesExpr.literal - removed:
field ComplexExpr.literal - removed:
field Expression.literal - removed:
field Expression.literal_hash - removed:
field FloatExpr.literal - removed:
field IntExpr.literal - removed:
field NameExpr.literal - removed:
field StrExpr.literal - removed:
field UnicodeExpr.literal - removed:
variable Key - changed:
constructor AssertStmt(expr: Expression, msg: Expression=…) -> None → constructor AssertStmt(expr: Expression, msg: Optional[Expression]=…) -> None - changed:
constructor AssignmentStmt(lvalues: List[Lvalue], rvalue: Expression, type: mypy.types.Type=…, new_syntax: bool=…) -> None → constructor AssignmentStmt(lvalues: List[Lvalue], rvalue: Expression, type: Optional[mypy.types.Type]=…, new_syntax: bool=…) -> None - changed:
constructor CallExpr(callee: Expression, args: List[Expression], arg_kinds: List[int], arg_names: List[Optional[str]]=…, analyzed: Expression=…) -> None → constructor CallExpr(callee: Expression, args: List[Expression], arg_kinds: List[int], arg_names: List[Optional[str]], analyzed: Optional[Expression]=…) -> None - changed:
constructor ClassDef(name: str, defs: Block, type_vars: List[mypy.types.TypeVarDef]=…, base_type_exprs: List[Expression]=…, metaclass: str=…, keywords: List[Tuple[str, Expression]]=…) -> None → constructor ClassDef(name: str, defs: Block, type_vars: Optional[List[mypy.types.TypeVarDef]]=…, base_type_exprs: Optional[List[Expression]]=…, metaclass: Optional[Expression]=…, keywords: Optional[List[Tuple[str, Expression]]]=…) -> None - changed:
constructor ForStmt(index: Lvalue, expr: Expression, body: Block, else_body: Optional[Block], index_type: mypy.types.Type=…) -> None → constructor ForStmt(index: Lvalue, expr: Expression, body: Block, else_body: Optional[Block], index_type: Optional[mypy.types.Type]=…) -> None - changed:
constructor FuncDef(name: str, arguments: List[Argument], body: Block, typ: mypy.types.FunctionLike=…) -> None → constructor FuncDef(name: str, arguments: List[Argument], body: Block, typ: Optional[mypy.types.FunctionLike]=…) -> None - changed:
constructor FuncItem(arguments: List[Argument], body: Block, typ: mypy.types.FunctionLike=…) -> None → constructor FuncItem(arguments: List[Argument], body: Block, typ: Optional[mypy.types.FunctionLike]=…) -> None - changed:
constructor MypyFile(defs: List[Statement], imports: List[ImportBase], is_bom: bool=…, ignored_lines: Set[int]=…) -> None → constructor MypyFile(defs: List[Statement], imports: List[ImportBase], is_bom: bool=…, ignored_lines: Optional[Set[int]]=…) -> None - changed:
constructor PrintStmt(args: List[Expression], newline: bool, target: Expression=…) -> None → constructor PrintStmt(args: List[Expression], newline: bool, target: Optional[Expression]=…) -> None - changed:
constructor SuperExpr(name: str) -> None → constructor SuperExpr(name: str, call: CallExpr) -> None - changed:
constructor SymbolTableNode(kind: int, node: Optional[SymbolNode], mod_id: str=…, typ: mypy.types.Type=…, module_public: bool=…, normalized: bool=…, alias_tvars: Optional[List[str]]=…, implicit: bool=…) -> None → constructor SymbolTableNode(kind: int, node: Optional[SymbolNode], mod_id: Optional[str]=…, typ: Optional[mypy.types.Type]=…, module_public: bool=…, normalized: bool=…, alias_tvars: Optional[List[str]]=…, implicit: bool=…, module_hidden: bool=…) -> None - changed:
constructor TempNode(typ: mypy.types.Type) -> None → constructor TempNode(typ: mypy.types.Type, no_rhs: bool=…) -> None - changed:
constructor TypeAliasExpr(type: mypy.types.Type, tvars: List[str], fallback: mypy.types.Type=…, in_runtime: bool=…) -> None → constructor TypeAliasExpr(type: mypy.types.Type, tvars: List[str], fallback: mypy.types.Type, in_runtime: bool=…) -> None - changed:
constructor Var(name: str, type: mypy.types.Type=…) -> None → constructor Var(name: str, type: Optional[mypy.types.Type]=…) -> None - changed:
constructor WithStmt(expr: List[Expression], target: List[Optional[Lvalue]], body: Block, target_type: mypy.types.Type=…) -> None → constructor WithStmt(expr: List[Expression], target: List[Optional[Lvalue]], body: Block, target_type: Optional[mypy.types.Type]=…) -> None - changed:
method Argument.set_line(target: Union[Context, int], column: int=…) -> None → method Argument.set_line(target: Union[Context, int], column: Optional[int]=…) -> None - changed:
method Context.set_line(target: Union[Context, int], column: int=…) -> None → method Context.set_line(target: Union[Context, int], column: Optional[int]=…) -> None - changed:
method FuncItem.set_line(target: Union[Context, int], column: int=…) -> None → method FuncItem.set_line(target: Union[Context, int], column: Optional[int]=…) -> None - changed:
method TypeInfo.dump(str_conv: mypy.strconv.StrConv=…, type_str_conv: mypy.types.TypeStrVisitor=…) -> str → method TypeInfo.dump(str_conv: Optional[mypy.strconv.StrConv]=…, type_str_conv: Optional[mypy.types.TypeStrVisitor]=…) -> str - added:
field SuperExpr.call - added:
field SymbolTableNode.module_hidden - added:
field TempNode.no_rhs - added:
field TypeInfo.assuming - added:
field TypeInfo.assuming_proper - added:
field TypeInfo.inferring - added:
field TypeInfo.is_protocol - added:
field TypeInfo.protocol_members - added:
field TypeInfo.replaced - added:
field TypeInfo.runtime_protocol - added:
field Var.is_abstract_var - added:
method TypeInfo.is_cached_subtype_check(left: mypy.types.Instance, right: mypy.types.Instance, proper_subtype: bool=…) -> bool - added:
method TypeInfo.record_subtype_cache_entry(left: mypy.types.Instance, right: mypy.types.Instance, proper_subtype: bool=…) -> None - added:
property Decorator.info -> TypeInfo
- added:
variable type_of_any_name_map
- removed:
function returns_any_if_called(expr: Expression) -> bool - removed:
method SemanticAnalyzer.check_with_metaclass(defn: ClassDef) -> Tuple[List[Expression], Optional[str]] - changed:
class FirstPass(NodeVisitor) → class FirstPass(NodeVisitor[None]) - changed:
class SemanticAnalyzer(NodeVisitor) → class SemanticAnalyzer(NodeVisitor[None]) - changed:
constructor ThirdPass(modules: Dict[str, MypyFile], errors: Errors) -> None → constructor ThirdPass(modules: Dict[str, MypyFile], errors: Errors, sem: SemanticAnalyzer) -> None - changed:
method SemanticAnalyzer.add_module_symbol(id: str, as_id: str, module_public: bool, context: Context) -> None → method SemanticAnalyzer.add_module_symbol(id: str, as_id: str, module_public: bool, context: Context, module_hidden: bool=…) -> None - changed:
method SemanticAnalyzer.anal_type(t: Type, *, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, aliasing: bool=…) -> Type → method SemanticAnalyzer.anal_type(t: Type, *, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, aliasing: bool=…, third_pass: bool=…) -> Type - changed:
method SemanticAnalyzer.analyze_try_stmt(s: TryStmt, visitor: NodeVisitor, add_global: bool=…) -> None → method SemanticAnalyzer.analyze_try_stmt(s: TryStmt, visitor: NodeVisitor[None], add_global: bool=…) -> None - changed:
method SemanticAnalyzer.lookup(name: str, ctx: Context) -> SymbolTableNode → method SemanticAnalyzer.lookup(name: str, ctx: Context, suppress_errors: bool=…) -> Optional[SymbolTableNode] - changed:
method SemanticAnalyzer.lookup_qualified(name: str, ctx: Context) -> SymbolTableNode → method SemanticAnalyzer.lookup_qualified(name: str, ctx: Context, suppress_errors: bool=…) -> Optional[SymbolTableNode] - changed:
method SemanticAnalyzer.type_analyzer(*, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, aliasing: bool=…) -> TypeAnalyser → method SemanticAnalyzer.type_analyzer(*, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, aliasing: bool=…, third_pass: bool=…) -> TypeAnalyser - changed:
method ThirdPass.analyze(type: Optional[Type]) -> None → method ThirdPass.analyze(type: Optional[Type], node: Union[Node, SymbolTableNode], warn: bool=…) -> None - changed:
method ThirdPass.visit_file(file_node: MypyFile, fnam: str, options: Options) -> None → method ThirdPass.visit_file(file_node: MypyFile, fnam: str, options: Options, patches: List[Callable[[], None]]) -> None - added:
class ForwardReferenceResolver(TypeTranslator) - added:
constructor ForwardReferenceResolver(fail: Callable[[str, Context], None], start: Union[Node, SymbolTableNode], warn: bool) -> None - added:
function add_protocol_members(typ: TypeInfo) -> None - added:
function calculate_return_type(expr: Expression) -> Optional[Type] - added:
method ForwardReferenceResolver.check_recursion(t: Type) -> bool - added:
method ForwardReferenceResolver.visit_callable_type(t: CallableType) -> Type - added:
method ForwardReferenceResolver.visit_forwardref_type(t: ForwardRef) -> Type - added:
method ForwardReferenceResolver.visit_instance(t: Instance, from_fallback: bool=…) -> Type - added:
method ForwardReferenceResolver.visit_overloaded(t: Overloaded) -> Type - added:
method ForwardReferenceResolver.visit_tuple_type(t: TupleType) -> Type - added:
method ForwardReferenceResolver.visit_type_type(t: TypeType) -> Type - added:
method ForwardReferenceResolver.visit_type_var(t: TypeVarType) -> Type - added:
method ForwardReferenceResolver.visit_typeddict_type(t: TypedDictType) -> Type - added:
method ForwardReferenceResolver.visit_union_type(t: UnionType) -> Type - added:
method SemanticAnalyzer.detect_protocol_base(defn: ClassDef) -> bool - added:
method SemanticAnalyzer.update_metaclass(defn: ClassDef) -> None - added:
method ThirdPass.analyze_types(types: List[Type], node: Node) -> None - added:
method ThirdPass.make_type_analyzer(indicator: Dict[str, bool]) -> TypeAnalyserPass3 - added:
method ThirdPass.perform_transform(node: Union[Node, SymbolTableNode], transform: Callable[[Type], Type]) -> None - added:
method ThirdPass.transform_types_in_lvalue(lvalue: Lvalue, transform: Callable[[Type], Type]) -> None - added:
method ThirdPass.visit_for_stmt(s: ForStmt) -> None - added:
method ThirdPass.visit_with_stmt(s: WithStmt) -> None
- added:
class IdenticalTypeVisitor(TypeVisitor[bool]) - added:
constructor IdenticalTypeVisitor(right: Type) -> None - added:
function compare_symbol_tables(name_prefix: str, table1: SymbolTable, table2: SymbolTable) -> Set[str] - added:
function get_prefix(id: str) -> str - added:
function is_identical_type(t: Type, s: Type) -> bool - added:
function is_identical_types(a: List[TT], b: List[TT]) -> bool - added:
function is_same_mro(mro1: List[TypeInfo], mro2: List[TypeInfo]) -> bool - added:
function is_similar_node_shallow(n: SymbolTableNode, m: SymbolTableNode) -> bool - added:
method IdenticalTypeVisitor.visit_any(left: AnyType) -> bool - added:
method IdenticalTypeVisitor.visit_callable_type(left: CallableType) -> bool - added:
method IdenticalTypeVisitor.visit_deleted_type(left: DeletedType) -> bool - added:
method IdenticalTypeVisitor.visit_erased_type(left: ErasedType) -> bool - added:
method IdenticalTypeVisitor.visit_instance(left: Instance) -> bool - added:
method IdenticalTypeVisitor.visit_none_type(left: NoneTyp) -> bool - added:
method IdenticalTypeVisitor.visit_overloaded(left: Overloaded) -> bool - added:
method IdenticalTypeVisitor.visit_partial_type(left: PartialType) -> bool - added:
method IdenticalTypeVisitor.visit_tuple_type(left: TupleType) -> bool - added:
method IdenticalTypeVisitor.visit_type_type(left: TypeType) -> bool - added:
method IdenticalTypeVisitor.visit_type_var(left: TypeVarType) -> bool - added:
method IdenticalTypeVisitor.visit_typeddict_type(left: TypedDictType) -> bool - added:
method IdenticalTypeVisitor.visit_unbound_type(left: UnboundType) -> bool - added:
method IdenticalTypeVisitor.visit_uninhabited_type(t: UninhabitedType) -> bool - added:
method IdenticalTypeVisitor.visit_union_type(left: UnionType) -> bool - added:
variable TT
- added:
class NodeReplaceVisitor(TraverserVisitor) - added:
class TypeReplaceVisitor(TypeVisitor[None]) - added:
constructor NodeReplaceVisitor(replacements: Dict[SymbolNode, SymbolNode]) -> None - added:
constructor TypeReplaceVisitor(replacements: Dict[SymbolNode, SymbolNode]) -> None - added:
function get_prefix(fullname: str) -> str - added:
function merge_asts(old: MypyFile, old_symbols: SymbolTable, new: MypyFile, new_symbols: SymbolTable) -> None - added:
function replace_nodes_in_ast(node: SymbolNode, replacements: Dict[SymbolNode, SymbolNode]) -> SymbolNode - added:
function replace_nodes_in_symbol_table(symbols: SymbolTable, replacements: Dict[SymbolNode, SymbolNode]) -> None - added:
function replacement_map_from_symbol_table(old: SymbolTable, new: SymbolTable, prefix: str) -> Dict[SymbolNode, SymbolNode] - added:
method NodeReplaceVisitor.fixup(node: SN) -> SN - added:
method NodeReplaceVisitor.fixup_type(typ: Type) -> None - added:
method NodeReplaceVisitor.replace_statements(nodes: List[Statement]) -> List[Statement] - added:
method NodeReplaceVisitor.visit_assignment_stmt(node: AssignmentStmt) -> None - added:
method NodeReplaceVisitor.visit_block(node: Block) -> None - added:
method NodeReplaceVisitor.visit_class_def(node: ClassDef) -> None - added:
method NodeReplaceVisitor.visit_func_def(node: FuncDef) -> None - added:
method NodeReplaceVisitor.visit_member_expr(node: MemberExpr) -> None - added:
method NodeReplaceVisitor.visit_mypy_file(node: MypyFile) -> None - added:
method NodeReplaceVisitor.visit_name_expr(node: NameExpr) -> None - added:
method NodeReplaceVisitor.visit_ref_expr(node: RefExpr) -> None - added:
method TypeReplaceVisitor.fixup(node: SN) -> SN - added:
method TypeReplaceVisitor.visit_any(typ: AnyType) -> None - added:
method TypeReplaceVisitor.visit_callable_type(typ: CallableType) -> None - added:
method TypeReplaceVisitor.visit_deleted_type(typ: DeletedType) -> None - added:
method TypeReplaceVisitor.visit_instance(typ: Instance) -> None - added:
method TypeReplaceVisitor.visit_none_type(typ: NoneTyp) -> None - added:
method TypeReplaceVisitor.visit_overloaded(t: Overloaded) -> None - added:
method TypeReplaceVisitor.visit_partial_type(typ: PartialType) -> None - added:
method TypeReplaceVisitor.visit_tuple_type(typ: TupleType) -> None - added:
method TypeReplaceVisitor.visit_type_type(typ: TypeType) -> None - added:
method TypeReplaceVisitor.visit_type_var(typ: TypeVarType) -> None - added:
method TypeReplaceVisitor.visit_typeddict_type(typ: TypedDictType) -> None - added:
method TypeReplaceVisitor.visit_unbound_type(typ: UnboundType) -> None - added:
method TypeReplaceVisitor.visit_uninhabited_type(typ: UninhabitedType) -> None - added:
method TypeReplaceVisitor.visit_union_type(typ: UnionType) -> None - added:
variable SN
- added:
class NodeStripVisitor(TraverserVisitor) - added:
constructor NodeStripVisitor() -> None - added:
function is_self_member_ref(memberexpr: MemberExpr) -> bool - added:
function nothing() -> Iterator[None] - added:
function strip_target(node: Union[MypyFile, FuncItem]) -> None - added:
method NodeStripVisitor.enter_class(info: TypeInfo) -> Iterator[None] - added:
method NodeStripVisitor.is_duplicate_attribute_def(node: MemberExpr) -> bool - added:
method NodeStripVisitor.strip_class_body(node: ClassDef) -> None - added:
method NodeStripVisitor.strip_ref_expr(node: RefExpr) -> None - added:
method NodeStripVisitor.strip_target(node: Union[MypyFile, FuncItem]) -> None - added:
method NodeStripVisitor.strip_top_level(file_node: MypyFile) -> None - added:
method NodeStripVisitor.visit_assignment_stmt(node: AssignmentStmt) -> None - added:
method NodeStripVisitor.visit_func_def(node: FuncDef) -> None - added:
method NodeStripVisitor.visit_member_expr(node: MemberExpr) -> None - added:
method NodeStripVisitor.visit_name_expr(node: NameExpr) -> None
- added:
class DependencyVisitor(TraverserVisitor) - added:
class TypeDependenciesVisitor(TypeVisitor[List[str]]) - added:
constructor DependencyVisitor(prefix: str, type_map: Dict[Expression, Type]) -> None - added:
constructor TypeDependenciesVisitor() -> None - added:
function get_dependencies(prefix: str, node: Node, type_map: Dict[Expression, Type]) -> Dict[str, Set[str]] - added:
function get_dependencies_of_target(prefix: str, node: Node, type_map: Dict[Expression, Type]) -> Dict[str, Set[str]] - added:
function get_type_dependencies(typ: Type) -> List[str] - added:
function non_trivial_bases(info: TypeInfo) -> List[TypeInfo] - added:
method DependencyVisitor.add_dependency(trigger: str, target: Optional[str]=…) -> None - added:
method DependencyVisitor.current() -> str - added:
method DependencyVisitor.pop() -> None - added:
method DependencyVisitor.push(component: str) -> str - added:
method DependencyVisitor.visit_assignment_stmt(o: AssignmentStmt) -> None - added:
method DependencyVisitor.visit_call_expr(e: CallExpr) -> None - added:
method DependencyVisitor.visit_class_def(o: ClassDef) -> None - added:
method DependencyVisitor.visit_func_def(o: FuncDef) -> None - added:
method DependencyVisitor.visit_import(o: Import) -> None - added:
method DependencyVisitor.visit_import_from(o: ImportFrom) -> None - added:
method DependencyVisitor.visit_member_expr(e: MemberExpr) -> None - added:
method DependencyVisitor.visit_mypy_file(o: MypyFile) -> None - added:
method DependencyVisitor.visit_name_expr(o: NameExpr) -> None - added:
method TypeDependenciesVisitor.visit_any(typ: AnyType) -> List[str] - added:
method TypeDependenciesVisitor.visit_callable_type(typ: CallableType) -> List[str] - added:
method TypeDependenciesVisitor.visit_deleted_type(typ: DeletedType) -> List[str] - added:
method TypeDependenciesVisitor.visit_forwardref_type(typ: ForwardRef) -> List[str] - added:
method TypeDependenciesVisitor.visit_instance(typ: Instance) -> List[str] - added:
method TypeDependenciesVisitor.visit_none_type(typ: NoneTyp) -> List[str] - added:
method TypeDependenciesVisitor.visit_partial_type(typ: PartialType) -> List[str] - added:
method TypeDependenciesVisitor.visit_tuple_type(typ: TupleType) -> List[str] - added:
method TypeDependenciesVisitor.visit_type_type(typ: TypeType) -> List[str] - added:
method TypeDependenciesVisitor.visit_type_var(typ: TypeVarType) -> List[str] - added:
method TypeDependenciesVisitor.visit_typeddict_type(typ: TypedDictType) -> List[str] - added:
method TypeDependenciesVisitor.visit_unbound_type(typ: UnboundType) -> List[str] - added:
method TypeDependenciesVisitor.visit_uninhabited_type(typ: UninhabitedType) -> List[str] - added:
method TypeDependenciesVisitor.visit_union_type(typ: UnionType) -> List[str]
- added:
class SubexpressionFinder(TraverserVisitor) - added:
constructor SubexpressionFinder() -> None - added:
field SubexpressionFinder.visit__promote_expr - added:
field SubexpressionFinder.visit_bytes_expr - added:
field SubexpressionFinder.visit_complex_expr - added:
field SubexpressionFinder.visit_ellipsis - added:
field SubexpressionFinder.visit_float_expr - added:
field SubexpressionFinder.visit_int_expr - added:
field SubexpressionFinder.visit_name_expr - added:
field SubexpressionFinder.visit_namedtuple_expr - added:
field SubexpressionFinder.visit_newtype_expr - added:
field SubexpressionFinder.visit_str_expr - added:
field SubexpressionFinder.visit_super_expr - added:
field SubexpressionFinder.visit_type_alias_expr - added:
field SubexpressionFinder.visit_type_var_expr - added:
field SubexpressionFinder.visit_typeddict_expr - added:
field SubexpressionFinder.visit_unicode_expr - added:
function get_subexpressions(node: Node) -> List[Expression] - added:
method SubexpressionFinder.add(e: Expression) -> None - added:
method SubexpressionFinder.visit_await_expr(e: AwaitExpr) -> None - added:
method SubexpressionFinder.visit_backquote_expr(e: BackquoteExpr) -> None - added:
method SubexpressionFinder.visit_call_expr(e: CallExpr) -> None - added:
method SubexpressionFinder.visit_cast_expr(e: CastExpr) -> None - added:
method SubexpressionFinder.visit_comparison_expr(e: ComparisonExpr) -> None - added:
method SubexpressionFinder.visit_conditional_expr(e: ConditionalExpr) -> None - added:
method SubexpressionFinder.visit_dict_expr(e: DictExpr) -> None - added:
method SubexpressionFinder.visit_dictionary_comprehension(e: DictionaryComprehension) -> None - added:
method SubexpressionFinder.visit_generator_expr(e: GeneratorExpr) -> None - added:
method SubexpressionFinder.visit_index_expr(e: IndexExpr) -> None - added:
method SubexpressionFinder.visit_lambda_expr(e: LambdaExpr) -> None - added:
method SubexpressionFinder.visit_list_comprehension(e: ListComprehension) -> None - added:
method SubexpressionFinder.visit_list_expr(e: ListExpr) -> None - added:
method SubexpressionFinder.visit_member_expr(e: MemberExpr) -> None - added:
method SubexpressionFinder.visit_op_expr(e: OpExpr) -> None - added:
method SubexpressionFinder.visit_reveal_type_expr(e: RevealTypeExpr) -> None - added:
method SubexpressionFinder.visit_set_comprehension(e: SetComprehension) -> None - added:
method SubexpressionFinder.visit_set_expr(e: SetExpr) -> None - added:
method SubexpressionFinder.visit_slice_expr(e: SliceExpr) -> None - added:
method SubexpressionFinder.visit_star_expr(e: StarExpr) -> None - added:
method SubexpressionFinder.visit_tuple_expr(e: TupleExpr) -> None - added:
method SubexpressionFinder.visit_type_application(e: TypeApplication) -> None - added:
method SubexpressionFinder.visit_unary_expr(e: UnaryExpr) -> None - added:
method SubexpressionFinder.visit_yield_expr(e: YieldExpr) -> None - added:
method SubexpressionFinder.visit_yield_from_expr(e: YieldFromExpr) -> None
- added:
function module_prefix(modules: Iterable[str], target: str) -> str - added:
function split_target(modules: Iterable[str], target: str) -> Tuple[str, str]
- added:
function make_trigger(name: str) -> str
- added:
class FineGrainedBuildManager - added:
constructor FineGrainedBuildManager(manager: BuildManager, graph: Dict[str, State]) -> None - added:
function build_incremental_step(manager: BuildManager, changed_modules: List[str]) -> Tuple[Dict[str, MypyFile], Dict[str, Dict[Expression, Type]]] - added:
function calculate_active_triggers(manager: BuildManager, old_modules: Dict[str, MypyFile], new_modules: Dict[str, MypyFile]) -> Set[str] - added:
function find_targets_recursive(triggers: Set[str], deps: Dict[str, Set[str]], modules: Dict[str, MypyFile], up_to_date_modules: Set[str]) -> Dict[str, Set[DeferredNode]] - added:
function get_all_dependencies(manager: BuildManager, graph: Dict[str, State]) -> Dict[str, Set[str]] - added:
function get_enclosing_namespace_types(nodes: List[DeferredNode]) -> Dict[NamespaceNode, Dict[str, Type]] - added:
function get_triggered_namespace_items(old_types_map: Dict[NamespaceNode, Dict[str, Type]]) -> Set[str] - added:
function lookup_target(modules: Dict[str, MypyFile], target: str) -> List[DeferredNode] - added:
function propagate_changes_using_dependencies(manager: BuildManager, graph: Dict[str, State], deps: Dict[str, Set[str]], triggered: Set[str], up_to_date_modules: Set[str], targets_with_errors: Set[str], modules: Iterable[str]) -> None - added:
function replace_modules_with_new_variants(manager: BuildManager, graph: Dict[str, State], old_modules: Dict[str, MypyFile], new_modules: Dict[str, MypyFile], new_type_maps: Dict[str, Dict[Expression, Type]]) -> None - added:
function reprocess_nodes(manager: BuildManager, graph: Dict[str, State], module_id: str, nodeset: Set[DeferredNode], deps: Dict[str, Set[str]]) -> Set[str] - added:
function update_dependencies(new_modules: Dict[str, MypyFile], deps: Dict[str, Set[str]], graph: Dict[str, State]) -> None - added:
function update_deps(module_id: str, nodes: List[DeferredNode], graph: Dict[str, State], deps: Dict[str, Set[str]]) -> None - added:
method FineGrainedBuildManager.update(changed_modules: List[str]) -> List[str] - added:
variable DEBUG - added:
variable NamespaceNode
- changed:
function argument_elide_name(name: Union[str, Tuple, None]) -> bool → function argument_elide_name(name: Optional[str]) -> bool
- changed:
constructor StatisticsVisitor(inferred: bool, filename: str, typemap: Dict[Expression, Type]=…, all_nodes: bool=…) -> None → constructor StatisticsVisitor(inferred: bool, filename: str, typemap: Optional[Dict[Expression, Type]]=…, all_nodes: bool=…, visit_untyped_defs: bool=…) -> None - changed:
function dump_type_stats(tree: MypyFile, path: str, inferred: bool=…, typemap: Dict[Expression, Type]=…) -> None → function dump_type_stats(tree: MypyFile, path: str, inferred: bool=…, typemap: Optional[Dict[Expression, Type]]=…) -> None
- changed:
method StrConv.pretty_name(name: str, kind: int, fullname: str, is_def: bool, target_node: mypy.nodes.Node=…) -> str → method StrConv.pretty_name(name: str, kind: Optional[int], fullname: Optional[str], is_def: bool, target_node: Optional[mypy.nodes.Node]=…) -> str
- removed:
function find_classes(node: MypyFile) -> Set[str] - removed:
method StubGenerator.import_and_export_names(module_id: str, relative: int, names: Iterable[str]) -> None - changed:
function generate_stub(path: str, output_dir: str, _all_: Optional[List[str]]=…, target: str=…, add_header: bool=…, module: str=…, pyversion: Tuple[int, int]=…, include_private: bool=…) -> None → function generate_stub(path: str, output_dir: str, _all_: Optional[List[str]]=…, target: Optional[str]=…, add_header: bool=…, module: Optional[str]=…, pyversion: Tuple[int, int]=…, include_private: bool=…) -> None - changed:
method StubGenerator.get_init(lvalue: str, rvalue: Expression) -> Optional[str] → method StubGenerator.get_init(lvalue: str, rvalue: Expression, annotation: Optional[Type]=…) -> Optional[str] - added:
class AliasPrinter(NodeVisitor[str]) - added:
class AnnotationPrinter(TypeStrVisitor) - added:
class ImportTracker - added:
constructor AliasPrinter(stubgen: StubGenerator) -> None - added:
constructor AnnotationPrinter(stubgen: StubGenerator) -> None - added:
constructor ImportTracker() -> None - added:
method AliasPrinter.visit_call_expr(node: CallExpr) -> str - added:
method AliasPrinter.visit_ellipsis(node: EllipsisExpr) -> str - added:
method AliasPrinter.visit_index_expr(node: IndexExpr) -> str - added:
method AliasPrinter.visit_list_expr(node: ListExpr) -> str - added:
method AliasPrinter.visit_name_expr(node: NameExpr) -> str - added:
method AliasPrinter.visit_str_expr(node: StrExpr) -> str - added:
method AliasPrinter.visit_tuple_expr(node: TupleExpr) -> str - added:
method AnnotationPrinter.visit_none_type(t: NoneTyp) -> str - added:
method AnnotationPrinter.visit_unbound_type(t: UnboundType) -> str - added:
method ImportTracker.add_import(module: str, alias: Optional[str]=…) -> None - added:
method ImportTracker.add_import_from(module: str, names: List[Tuple[str, Optional[str]]]) -> None - added:
method ImportTracker.import_lines() -> List[str] - added:
method ImportTracker.reexport(name: str) -> None - added:
method ImportTracker.require_name(name: str) -> None - added:
method StubGenerator.is_type_expression(expr: Expression, top_level: bool=…) -> bool - added:
method StubGenerator.print_annotation(t: Type) -> str - added:
method StubGenerator.process_typealias(lvalue: NameExpr, rvalue: Expression) -> None
- changed:
function generate_c_function_stub(module: ModuleType, name: str, obj: object, output: List[str], self_var: str=…, sigs: Dict[str, str]=…, class_name: str=…, class_sigs: Dict[str, str]=…) -> None → function generate_c_function_stub(module: ModuleType, name: str, obj: object, output: List[str], self_var: Optional[str]=…, sigs: Dict[str, str]=…, class_name: Optional[str]=…, class_sigs: Dict[str, str]=…) -> None
- changed:
constructor SubtypeVisitor(right: Type, type_parameter_checker: TypeParameterChecker, *, ignore_pos_arg_names: bool=…) -> None → constructor SubtypeVisitor(right: Type, type_parameter_checker: TypeParameterChecker, *, ignore_pos_arg_names: bool=…, ignore_declared_variance: bool=…) -> None - changed:
function is_more_precise(t: Type, s: Type) -> bool → function is_more_precise(left: Type, right: Type) -> bool - changed:
function is_subtype(left: Type, right: Type, type_parameter_checker: TypeParameterChecker=…, *, ignore_pos_arg_names: bool=…) -> bool → function is_subtype(left: Type, right: Type, type_parameter_checker: TypeParameterChecker=…, *, ignore_pos_arg_names: bool=…, ignore_declared_variance: bool=…) -> bool - added:
function find_member(name: str, itype: Instance, subtype: Type) -> Optional[Type] - added:
function find_node_type(node: Union[Var, FuncBase], itype: Instance, subtype: Type) -> Type - added:
function get_member_flags(name: str, info: TypeInfo) -> Set[int] - added:
function is_protocol_implementation(left: Instance, right: Instance, proper_subtype: bool=…) -> bool - added:
function non_method_protocol_members(tp: TypeInfo) -> List[str] - added:
function pop_on_exit(stack: List[Tuple[Instance, Instance]], left: Instance, right: Instance) -> Iterator[None] - added:
variable IS_CLASSVAR - added:
variable IS_CLASS_OR_STATIC - added:
variable IS_SETTABLE
- changed:
constructor TypeAnalyser(lookup_func: Callable[[str, Context], SymbolTableNode], lookup_fqn_func: Callable[[str], SymbolTableNode], tvar_scope: TypeVarScope, fail_func: Callable[[str, Context], None], plugin: Plugin, options: Options, is_typeshed_stub: bool, *, aliasing: bool=…, allow_tuple_literal: bool=…, allow_unnormalized: bool=…) -> None → constructor TypeAnalyser(lookup_func: Callable[[str, Context], SymbolTableNode], lookup_fqn_func: Callable[[str], SymbolTableNode], tvar_scope: Optional[TypeVarScope], fail_func: Callable[[str, Context], None], note_func: Callable[[str, Context], None], plugin: Plugin, options: Options, is_typeshed_stub: bool, *, aliasing: bool=…, allow_tuple_literal: bool=…, allow_unnormalized: bool=…, third_pas… - changed:
constructor TypeAnalyserPass3(fail_func: Callable[[str, Context], None], options: Options, is_typeshed_stub: bool) -> None → constructor TypeAnalyserPass3(lookup_func: Callable[[str, Context], SymbolTableNode], lookup_fqn_func: Callable[[str], SymbolTableNode], fail_func: Callable[[str, Context], None], note_func: Callable[[str, Context], None], plugin: Plugin, options: Options, is_typeshed_stub: bool, indicator: Dict[str, bool]) -> None - changed:
function analyze_type_alias(node: Expression, lookup_func: Callable[[str, Context], SymbolTableNode], lookup_fqn_func: Callable[[str], SymbolTableNode], tvar_scope: TypeVarScope, fail_func: Callable[[str, Context], None], plugin: Plugin, options: Options, is_typeshed_stub: bool, allow_unnormalized: bool=…) -> Optional[Type] → function analyze_type_alias(node: Expression, lookup_func: Callable[[str, Context], SymbolTableNode], lookup_fqn_func: Callable[[str], SymbolTableNode], tvar_scope: TypeVarScope, fail_func: Callable[[str, Context], None], note_func: Callable[[str, Context], None], plugin: Plugin, options: Options, is_typeshed_stub: bool, allow_unnormalized: bool=…, in_dynamic_func: bool=…, global_scope: bool=…) -… - changed:
method TypeAnalyser.named_type(fully_qualified_name: str, args: List[Type]=…, line: int=…, column: int=…) -> Instance → method TypeAnalyser.named_type(fully_qualified_name: str, args: Optional[List[Type]]=…, line: int=…, column: int=…) -> Instance - changed:
method TypeAnalyserPass3.check_type_var_values(type: TypeInfo, actuals: List[Type], valids: List[Type], arg_number: int, context: Context) -> None → method TypeAnalyserPass3.check_type_var_values(type: TypeInfo, actuals: List[Type], arg_name: str, valids: List[Type], arg_number: int, context: Context) -> None - added:
class CollectAllInnerTypesQuery(TypeQuery[List[Type]]) - added:
constructor CollectAllInnerTypesQuery() -> None - added:
field TypeAnalyser.global_scope - added:
field TypeAnalyser.in_dynamic_func - added:
function collect_all_inner_types(t: Type) -> List[Type] - added:
method CollectAllInnerTypesQuery.query_types(types: Iterable[Type]) -> List[Type] - added:
method TypeAnalyser.visit_forwardref_type(t: ForwardRef) -> Type - added:
method TypeAnalyserPass3.anal_type(tp: UnboundType) -> Type - added:
method TypeAnalyserPass3.update_type(tp: Type) -> Type - added:
method TypeAnalyserPass3.visit_forwardref_type(t: ForwardRef) -> None - added:
static method CollectAllInnerTypesQuery.combine_lists_strategy(it: Iterable[List[Type]]) -> List[Type]
- changed:
method TypeFixture.make_type_info(name: str, module_name: str=…, is_abstract: bool=…, mro: List[TypeInfo]=…, bases: List[Instance]=…, typevars: List[str]=…, variances: List[int]=…) -> TypeInfo → method TypeFixture.make_type_info(name: str, module_name: Optional[str]=…, is_abstract: bool=…, mro: Optional[List[TypeInfo]]=…, bases: Optional[List[Instance]]=…, typevars: Optional[List[str]]=…, variances: Optional[List[int]]=…) -> TypeInfo
- changed:
constructor AnyType(implicit: bool=…, from_unimported_type: bool=…, explicit: bool=…, from_omitted_generics: bool=…, special_form: bool=…, line: int=…, column: int=…) -> None → constructor AnyType(type_of_any: TypeOfAny.TypeOfAny, source_any: Optional[AnyType]=…, line: int=…, column: int=…) -> None - changed:
constructor CallableType(arg_types: List[Type], arg_kinds: List[int], arg_names: List[Optional[str]], ret_type: Type, fallback: Instance, name: str=…, definition: SymbolNode=…, variables: List[TypeVarDef]=…, line: int=…, column: int=…, is_ellipsis_args: bool=…, implicit: bool=…, is_classmethod_class: bool=…, special_sig: Optional[str]=…, from_type_type: bool=…, bound_args: List[Optional[Type]]=…)… → constructor CallableType(arg_types: List[Type], arg_kinds: List[int], arg_names: List[Optional[str]], ret_type: Type, fallback: Instance, name: Optional[str]=…, definition: Optional[SymbolNode]=…, variables: Optional[List[TypeVarDef]]=…, line: int=…, column: int=…, is_ellipsis_args: bool=…, implicit: bool=…, is_classmethod_class: bool=…, special_sig: Optional[str]=…, from_type_type: bool=…, bound… - changed:
constructor DeletedType(source: str=…, line: int=…, column: int=…) -> None → constructor DeletedType(source: Optional[str]=…, line: int=…, column: int=…) -> None - changed:
constructor TypeStrVisitor(id_mapper: IdMapper=…) -> None → constructor TypeStrVisitor(id_mapper: Optional[IdMapper]=…) -> None - changed:
constructor UnboundType(name: str, args: List[Type]=…, line: int=…, column: int=…, optional: bool=…, empty_tuple_index: bool=…) -> None → constructor UnboundType(name: str, args: Optional[List[Type]]=…, line: int=…, column: int=…, optional: bool=…, empty_tuple_index: bool=…) -> None - changed:
function callable_type(fdef: mypy.nodes.FuncItem, fallback: Instance, ret_type: Type=…) -> CallableType → function callable_type(fdef: mypy.nodes.FuncItem, fallback: Instance, ret_type: Optional[Type]=…) -> CallableType - changed:
method AnyType.copy_modified(implicit: bool=…, from_unimported_type: bool=…, explicit: bool=…, from_omitted_generics: bool=…, special_form: bool=…) -> AnyType → method AnyType.copy_modified(type_of_any: TypeOfAny.TypeOfAny=…, original_any: Optional[AnyType]=…) -> AnyType - changed:
method TupleType.copy_modified(*, fallback: Instance=…, items: List[Type]=…) -> TupleType → method TupleType.copy_modified(*, fallback: Optional[Instance]=…, items: Optional[List[Type]]=…) -> TupleType - changed:
method TupleType.slice(begin: int, stride: int, end: int) -> TupleType → method TupleType.slice(begin: Optional[int], stride: Optional[int], end: Optional[int]) -> TupleType - changed:
method TypedDictType.copy_modified(*, fallback: Instance=…, item_types: List[Type]=…, required_keys: Set[str]=…) -> TypedDictType → method TypedDictType.copy_modified(*, fallback: Optional[Instance]=…, item_types: Optional[List[Type]]=…, required_keys: Optional[Set[str]]=…) -> TypedDictType - added:
class ForwardRef(Type) - added:
class TypeOfAny - added:
constructor ForwardRef(link: Type) -> None - added:
field ForwardRef.link - added:
field TypeOfAny.MYPY - added:
field TypeOfAny.TypeOfAny - added:
field TypeOfAny.explicit - added:
field TypeOfAny.from_another_any - added:
field TypeOfAny.from_error - added:
field TypeOfAny.from_omitted_generics - added:
field TypeOfAny.from_unimported_type - added:
field TypeOfAny.special_form - added:
field TypeOfAny.unannotated - added:
method ForwardRef.accept(visitor: TypeVisitor[T]) -> T - added:
method ForwardRef.serialize() - added:
method TypeOfAny.TypeOfAny() -> str - added:
method TypeQuery.visit_forwardref_type(t: ForwardRef) -> T - added:
method TypeStrVisitor.visit_forwardref_type(t: ForwardRef) -> str - added:
method TypeTranslator.visit_forwardref_type(t: ForwardRef) -> Type - added:
method TypeVisitor.visit_forwardref_type(t: ForwardRef) -> T
- changed:
constructor LazySubprocess(name: str, args: List[str], *, cwd: str=…, env: Dict[str, str]=…, passthrough: Optional[int]=…) -> None → constructor LazySubprocess(name: str, args: List[str], *, cwd: Optional[str]=…, env: Optional[Dict[str, str]]=…, passthrough: Optional[int]=…) -> None