Upgrading mypy 0.630 to 0.641
Unknown0.630 → 0.641
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.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- changed:
function apply_generic_arguments(callable: CallableType, orig_types: Sequence[Optional[Type]], msg: MessageBuilder, context: Context) -> CallableType → function apply_generic_arguments(callable: CallableType, orig_types: Sequence[Optional[Type]], msg: MessageBuilder, context: Context, skip_unsatisfied: bool=…) -> CallableType
- removed:
variable BindableTypes
- removed:
class BuildSource - removed:
class FindModuleCache - removed:
constructor BuildSource(path: Optional[str], module: Optional[str], text: Optional[str], base_dir: Optional[str]=…) -> None - removed:
constructor FindModuleCache(fscache: Optional[FileSystemCache]=…, options: Optional[Options]=…) -> None - removed:
function compute_search_paths(sources: List[BuildSource], options: Options, data_dir: str, fscache: FileSystemCache, alt_lib_path: Optional[str]=…) -> SearchPaths - removed:
function default_lib_path(data_dir: str, pyversion: Tuple[int, int], custom_typeshed_dir: Optional[str]) -> List[str] - removed:
function mypy_path() -> List[str] - removed:
function verify_module(fscache: FileSystemCache, id: str, path: str) -> bool - removed:
method FindModuleCache.clear() -> None - removed:
method FindModuleCache.find_lib_path_dirs(dir_chain: str, lib_path: Tuple[str, ...]) -> PackageDirs - removed:
method FindModuleCache.find_module(id: str, search_paths: SearchPaths, python_executable: Optional[str]) -> Optional[str] - removed:
method FindModuleCache.find_modules_recursive(module: str, search_paths: SearchPaths, python_executable: Optional[str]) -> List[BuildSource] - removed:
variable PYTHON_EXTENSIONS - removed:
variable PackageDirs - removed:
variable SearchPaths - changed:
function build(sources: List[BuildSource], options: Options, alt_lib_path: Optional[str]=…, bin_dir: Optional[str]=…, flush_errors: Optional[Callable[[List[str], bool], None]]=…, fscache: Optional[FileSystemCache]=…) -> BuildResult → function build(sources: List[BuildSource], options: Options, alt_lib_path: Optional[str]=…, flush_errors: Optional[Callable[[List[str], bool], None]]=…, fscache: Optional[FileSystemCache]=…) -> BuildResult
- removed:
function is_optional(t: Type) -> bool - removed:
function remove_optional(typ: Type) -> Type - changed:
method TypeChecker.check_method_or_accessor_override_for_base(defn: Union[FuncBase, Decorator], base: TypeInfo) -> None → method TypeChecker.check_method_or_accessor_override_for_base(defn: Union[FuncDef, OverloadedFuncDef, Decorator], base: TypeInfo) -> bool - changed:
method TypeChecker.check_method_override(defn: Union[FuncBase, Decorator]) -> None → method TypeChecker.check_method_override(defn: Union[FuncDef, OverloadedFuncDef, Decorator]) -> None - changed:
method TypeChecker.check_method_override_for_base_with_name(defn: Union[FuncBase, Decorator], name: str, base: TypeInfo) -> None → method TypeChecker.check_method_override_for_base_with_name(defn: Union[FuncDef, OverloadedFuncDef, Decorator], name: str, base: TypeInfo) -> bool - changed:
method TypeChecker.check_partial(node: Union[FuncDef, LambdaExpr, MypyFile, OverloadedFuncDef]) -> None → method TypeChecker.check_partial(node: Union[DeferredNodeType, FineGrainedDeferredNodeType]) -> None - changed:
method TypeChecker.check_second_pass(todo: Optional[List[DeferredNode]]=…) -> bool → method TypeChecker.check_second_pass(todo: Optional[Sequence[Union[DeferredNode, FineGrainedDeferredNode]]]=…) -> bool - changed:
method TypeChecker.find_partial_types_in_all_scopes(var: Var) -> Tuple[bool, Optional[Dict[Var, Context]]] → method TypeChecker.find_partial_types_in_all_scopes(var: Var) -> Tuple[bool, bool, Optional[Dict[Var, Context]]] - added:
method TypeChecker.check_compatibility_final_super(node: Var, base: TypeInfo, base_node: Optional[Node]) -> bool - added:
method TypeChecker.check_final(s: Union[AssignmentStmt, OperatorAssignmentStmt]) -> None - added:
method TypeChecker.check_no_writable(name: str, base_node: Optional[Node], ctx: Context) -> None - added:
method TypeChecker.defer_node(node: DeferredNodeType, enclosing_class: Optional[TypeInfo]) -> None - added:
method TypeChecker.enter_final_context(is_final_def: bool) -> Iterator[None] - added:
method TypeChecker.fixup_partial_type(typ: Type) -> Type - added:
method TypeChecker.get_final_context() -> bool - added:
method TypeChecker.handle_partial_var_type(typ: PartialType, is_lvalue: bool, node: Var, context: Context) -> Type - added:
variable DeferredNodeType - added:
variable FineGrainedDeferredNode - added:
variable FineGrainedDeferredNodeType - added:
variable MYPY
- removed:
method ExpressionChecker.infer_arg_types_in_context2(callee: CallableType, args: List[Expression], arg_kinds: List[int], formal_to_actual: List[List[int]]) -> List[Type] - changed:
method ExpressionChecker.apply_generic_arguments(callable: CallableType, types: Sequence[Optional[Type]], context: Context) -> CallableType → method ExpressionChecker.apply_generic_arguments(callable: CallableType, types: Sequence[Optional[Type]], context: Context, skip_unsatisfied: bool=…) -> CallableType - changed:
method ExpressionChecker.infer_arg_types_in_context(callee: Optional[CallableType], args: List[Expression]) -> List[Type] → method ExpressionChecker.infer_arg_types_in_context(callee: CallableType, args: List[Expression], arg_kinds: List[int], formal_to_actual: List[List[int]]) -> List[Type] - changed:
method ExpressionChecker.visit_member_expr(e: MemberExpr) -> Type → method ExpressionChecker.visit_member_expr(e: MemberExpr, is_lvalue: bool=…) -> Type - added:
method ExpressionChecker.always_returns_none(node: Expression) -> bool - added:
method ExpressionChecker.defn_returns_none(defn: Optional[SymbolNode]) -> bool - added:
method ExpressionChecker.infer_arg_types_in_empty_context(args: List[Expression]) -> List[Type]
- removed:
function handle_partial_attribute_type(typ: PartialType, is_lvalue: bool, msg: MessageBuilder, node: SymbolNode) -> Type - added:
function check_final_member(name: str, info: TypeInfo, msg: MessageBuilder, ctx: Context) -> None - added:
function is_final_node(node: Optional[SymbolNode]) -> bool
- added:
variable MYPY
- added:
variable MYPY
- added:
variable MYPY
- changed:
method Server.check(sources: List[mypy.build.BuildSource]) -> Dict[str, Any] → method Server.check(sources: List[BuildSource]) -> Dict[str, Any] - changed:
method Server.find_changed(sources: List[mypy.build.BuildSource]) -> Tuple[List[Tuple[str, str]], List[Tuple[str, str]]] → method Server.find_changed(sources: List[BuildSource]) -> Tuple[List[Tuple[str, str]], List[Tuple[str, str]]] - changed:
method Server.fine_grained_increment(sources: List[mypy.build.BuildSource]) -> Dict[str, Any] → method Server.fine_grained_increment(sources: List[BuildSource]) -> Dict[str, Any] - changed:
method Server.initialize_fine_grained(sources: List[mypy.build.BuildSource]) -> Dict[str, Any] → method Server.initialize_fine_grained(sources: List[BuildSource]) -> Dict[str, Any] - changed:
method Server.update_sources(sources: List[mypy.build.BuildSource]) -> None → method Server.update_sources(sources: List[BuildSource]) -> None - added:
variable MYPY
- added:
variable MYPY
- removed:
function find(f: Callable[[V], bool], seq: Sequence[V]) -> Optional[V] - removed:
function overload(x: Any) -> Any - removed:
function with_line(f: Callable[[ASTConverter, T], U]) -> Callable[[ASTConverter, T], U] - removed:
method ASTConverter.generic_visit(node: ast3.AST) -> None - removed:
method TypeConverter.generic_visit(node: ast3.AST) -> Type - removed:
variable T - removed:
variable U - removed:
variable V - changed:
class ASTConverter(ast3.NodeTransformer) → class ASTConverter - changed:
class TypeConverter(ast3.NodeTransformer) → class TypeConverter - changed:
function stringify_name(n: ast3.AST) -> Optional[str] → function stringify_name(n: AST) -> Optional[str] - changed:
method ASTConverter.translate_expr_list(l: Sequence[ast3.AST]) -> List[Expression] → method ASTConverter.translate_expr_list(l: Sequence[AST]) -> List[Expression] - changed:
method ASTConverter.translate_stmt_list(l: Sequence[ast3.AST]) -> List[Statement] → method ASTConverter.translate_stmt_list(l: Sequence[AST]) -> List[Statement] - changed:
method ASTConverter.visit(node: Optional[ast3.AST]) -> Any → method ASTConverter.visit(node: Optional[AST]) -> Any - changed:
method ASTConverter.visit_Attribute(n: ast3.Attribute) -> Union[MemberExpr, SuperExpr] → method ASTConverter.visit_Attribute(n: Attribute) -> Union[MemberExpr, SuperExpr] - changed:
method ASTConverter.visit_Call(n: ast3.Call) -> CallExpr → method ASTConverter.visit_Call(n: Call) -> CallExpr - changed:
method ASTConverter.visit_Ellipsis(n: ast3.Ellipsis) -> EllipsisExpr → method ASTConverter.visit_Ellipsis(n: ast3_Ellipsis) -> EllipsisExpr - changed:
method ASTConverter.visit_Index(n: ast3.Index) -> Node → method ASTConverter.visit_Index(n: Index) -> Node - changed:
method ASTConverter.visit_Name(n: ast3.Name) -> NameExpr → method ASTConverter.visit_Name(n: Name) -> NameExpr - changed:
method ASTConverter.visit_NameConstant(n: ast3.NameConstant) -> NameExpr → method ASTConverter.visit_NameConstant(n: NameConstant) -> NameExpr - changed:
method ASTConverter.visit_Starred(n: ast3.Starred) -> StarExpr → method ASTConverter.visit_Starred(n: Starred) -> StarExpr - changed:
method ASTConverter.visit_Str(n: ast3.Str) -> Union[UnicodeExpr, StrExpr] → method ASTConverter.visit_Str(n: Str) -> Union[UnicodeExpr, StrExpr] - changed:
method TypeConverter.parent() -> Optional[ast3.AST] → method TypeConverter.parent() -> Optional[AST] - changed:
method TypeConverter.visit(node: ast3.expr) -> Type | (node: Optional[ast3.AST]) -> Optional[Type] → method TypeConverter.visit(node: ast3.expr) -> Type | (node: Optional[AST]) -> Optional[Type] - changed:
method TypeConverter.visit_Attribute(n: ast3.Attribute) -> Type → method TypeConverter.visit_Attribute(n: Attribute) -> Type - changed:
method TypeConverter.visit_Call(e: ast3.Call) -> Type → method TypeConverter.visit_Call(e: Call) -> Type - changed:
method TypeConverter.visit_Ellipsis(n: ast3.Ellipsis) -> Type → method TypeConverter.visit_Ellipsis(n: ast3_Ellipsis) -> Type - changed:
method TypeConverter.visit_Name(n: ast3.Name) -> Type → method TypeConverter.visit_Name(n: Name) -> Type - changed:
method TypeConverter.visit_NameConstant(n: ast3.NameConstant) -> Type → method TypeConverter.visit_NameConstant(n: NameConstant) -> Type - changed:
method TypeConverter.visit_Str(n: ast3.Str) -> Type → method TypeConverter.visit_Str(n: Str) -> Type - added:
method ASTConverter.fail_arg(msg: str, arg: ast3.arg) -> None - added:
method ASTConverter.group(op: str, vals: List[Expression], n: ast3.expr) -> OpExpr - added:
method ASTConverter.make_argument(arg: ast3.arg, default: Optional[ast3.expr], kind: int, no_type_check: bool) -> Argument - added:
method ASTConverter.set_line(node: N, n: Union[ast3.expr, ast3.stmt]) -> N - added:
variable N - added:
variable overload
- removed:
function find(f: Callable[[V], bool], seq: Sequence[V]) -> Optional[V] - removed:
function with_line(f: Callable[[ASTConverter, T], U]) -> Callable[[ASTConverter, T], U] - removed:
method ASTConverter.generic_visit(node: ast27.AST) -> None - removed:
variable T - removed:
variable U - removed:
variable V - changed:
class ASTConverter(ast27.NodeTransformer) → class ASTConverter - changed:
method ASTConverter.stringify_name(n: ast27.AST) -> str → method ASTConverter.stringify_name(n: AST) -> str - changed:
method ASTConverter.translate_expr_list(l: Sequence[ast27.AST]) -> List[Expression] → method ASTConverter.translate_expr_list(l: Sequence[AST]) -> List[Expression] - changed:
method ASTConverter.translate_stmt_list(l: Sequence[ast27.AST]) -> List[Statement] → method ASTConverter.translate_stmt_list(l: Sequence[AST]) -> List[Statement] - changed:
method ASTConverter.visit(node: Optional[ast27.AST]) -> Any → method ASTConverter.visit(node: Optional[AST]) -> Any - changed:
method ASTConverter.visit_Attribute(n: ast27.Attribute) -> Expression → method ASTConverter.visit_Attribute(n: Attribute) -> Expression - changed:
method ASTConverter.visit_Call(n: ast27.Call) -> CallExpr → method ASTConverter.visit_Call(n: Call) -> CallExpr - changed:
method ASTConverter.visit_Name(n: ast27.Name) -> NameExpr → method ASTConverter.visit_Name(n: Name) -> NameExpr - changed:
method ASTConverter.visit_Num(new: ast27.Num) -> Expression → method ASTConverter.visit_Num(n: ast27.Num) -> Expression - changed:
method ASTConverter.visit_Str(s: ast27.Str) -> Expression → method ASTConverter.visit_Str(n: ast27.Str) -> Expression - changed:
method ASTConverter.visit_Tuple(n: ast27.Tuple) -> TupleExpr → method ASTConverter.visit_Tuple(n: ast27_Tuple) -> TupleExpr - added:
method ASTConverter.convert_arg(index: int, arg: ast27.expr, line: int, decompose_stmts: List[Statement]) -> Var - added:
method ASTConverter.extract_names(arg: ast27.expr) -> List[str] - added:
method ASTConverter.get_type(i: int, type_comments: Sequence[Optional[str]], converter: TypeConverter) -> Optional[Type] - added:
method ASTConverter.group(vals: List[Expression], op: str) -> OpExpr - added:
method ASTConverter.set_line(node: N, n: Union[ast27.expr, ast27.stmt]) -> N - added:
variable N
- added:
variable MYPY
- added:
class InterpretedPlugin - added:
constructor InterpretedPlugin(options: Options) -> None - added:
method InterpretedPlugin.get_attribute_hook(fullname: str) -> Optional[Callable[[mypy.plugin.AttributeContext], Type]] - added:
method InterpretedPlugin.get_base_class_hook(fullname: str) -> Optional[Callable[[mypy.plugin.ClassDefContext], None]] - added:
method InterpretedPlugin.get_class_decorator_hook(fullname: str) -> Optional[Callable[[mypy.plugin.ClassDefContext], None]] - added:
method InterpretedPlugin.get_customize_class_mro_hook(fullname: str) -> Optional[Callable[[mypy.plugin.ClassDefContext], None]] - added:
method InterpretedPlugin.get_function_hook(fullname: str) -> Optional[Callable[[mypy.plugin.FunctionContext], Type]] - added:
method InterpretedPlugin.get_metaclass_hook(fullname: str) -> Optional[Callable[[mypy.plugin.ClassDefContext], None]] - added:
method InterpretedPlugin.get_method_hook(fullname: str) -> Optional[Callable[[mypy.plugin.MethodContext], Type]] - added:
method InterpretedPlugin.get_method_signature_hook(fullname: str) -> Optional[Callable[[mypy.plugin.MethodSigContext], CallableType]] - added:
method InterpretedPlugin.get_type_analyze_hook(fullname: str) -> Optional[Callable[[mypy.plugin.AnalyzeTypeContext], Type]] - added:
variable MYPY
- added:
variable MYPY
- removed:
function find_bin_directory(script_path: str) -> str - removed:
function type_check_only(sources: List[BuildSource], bin_dir: Optional[str], options: Options, flush_errors: Optional[Callable[[List[str], bool], None]], fscache: FileSystemCache) -> BuildResult - added:
variable MYPY
- removed:
variable NON_BOOLEAN_IN_CONDITIONAL - added:
method MessageBuilder.cant_assign_to_final(name: str, attr_assign: bool, ctx: Context) -> None - added:
method MessageBuilder.cant_override_final(name: str, base_name: str, ctx: Context) -> None - added:
method MessageBuilder.final_cant_override_writable(name: str, ctx: Context) -> None - added:
method MessageBuilder.final_without_value(ctx: Context) -> None - added:
method MessageBuilder.protocol_members_cant_be_final(ctx: Context) -> None - added:
variable MYPY
- added:
class BuildSource - added:
class FindModuleCache - added:
constructor BuildSource(path: Optional[str], module: Optional[str], text: Optional[str], base_dir: Optional[str]=…) -> None - added:
constructor FindModuleCache(search_paths: SearchPaths, fscache: Optional[FileSystemCache]=…, options: Optional[Options]=…) -> None - added:
function compute_search_paths(sources: List[BuildSource], options: Options, data_dir: str, alt_lib_path: Optional[str]=…) -> SearchPaths - added:
function default_lib_path(data_dir: str, pyversion: Tuple[int, int], custom_typeshed_dir: Optional[str]) -> List[str] - added:
function get_site_packages_dirs(python_executable: Optional[str]) -> Tuple[List[str], List[str]] - added:
function highest_init_level(fscache: FileSystemCache, id: str, path: str) -> int - added:
function mypy_path() -> List[str] - added:
function verify_module(fscache: FileSystemCache, id: str, path: str) -> bool - added:
method FindModuleCache.clear() -> None - added:
method FindModuleCache.find_lib_path_dirs(dir_chain: str, lib_path: Tuple[str, ...]) -> PackageDirs - added:
method FindModuleCache.find_module(id: str) -> Optional[str] - added:
method FindModuleCache.find_modules_recursive(module: str) -> List[BuildSource] - added:
variable MYPY - added:
variable OnePackageDir - added:
variable PYTHON_EXTENSIONS - added:
variable PackageDirs - added:
variable SearchPaths
- added:
variable MYPY
- removed:
class TypeOfAny(Enum) - removed:
field TypeOfAny.explicit - removed:
field TypeOfAny.from_another_any - removed:
field TypeOfAny.from_error - removed:
field TypeOfAny.from_omitted_generics - removed:
field TypeOfAny.from_unimported_type - removed:
field TypeOfAny.implementation_artifact - removed:
field TypeOfAny.special_form - removed:
field TypeOfAny.unannotated
- added:
field AssignmentStmt.is_final_def - added:
property Decorator.is_final -> bool
- changed:
method SemanticAnalyzerPluginInterface.class_type(info: TypeInfo) -> Type → method SemanticAnalyzerPluginInterface.class_type(self_type: Type) -> Type - added:
class WrapperPlugin(Plugin) - added:
constructor WrapperPlugin(plugin: mypy.interpreted_plugin.InterpretedPlugin) -> None - added:
method WrapperPlugin.get_attribute_hook(fullname: str) -> Optional[Callable[[AttributeContext], Type]] - added:
method WrapperPlugin.get_base_class_hook(fullname: str) -> Optional[Callable[[ClassDefContext], None]] - added:
method WrapperPlugin.get_class_decorator_hook(fullname: str) -> Optional[Callable[[ClassDefContext], None]] - added:
method WrapperPlugin.get_customize_class_mro_hook(fullname: str) -> Optional[Callable[[ClassDefContext], None]] - added:
method WrapperPlugin.get_function_hook(fullname: str) -> Optional[Callable[[FunctionContext], Type]] - added:
method WrapperPlugin.get_metaclass_hook(fullname: str) -> Optional[Callable[[ClassDefContext], None]] - added:
method WrapperPlugin.get_method_hook(fullname: str) -> Optional[Callable[[MethodContext], Type]] - added:
method WrapperPlugin.get_method_signature_hook(fullname: str) -> Optional[Callable[[MethodSigContext], CallableType]] - added:
method WrapperPlugin.get_type_analyze_hook(fullname: str) -> Optional[Callable[[AnalyzeTypeContext], Type]] - added:
variable plugin_types
- added:
variable MYPY
- added:
variable MYPY
- added:
variable MYPY - added:
variable ReporterClasses
- changed:
method SemanticAnalyzerPass2.analyze_lvalue(lval: Lvalue, nested: bool=…, add_global: bool=…, explicit_type: bool=…) -> None → method SemanticAnalyzerPass2.analyze_lvalue(lval: Lvalue, nested: bool=…, add_global: bool=…, explicit_type: bool=…, final_cb: Optional[Callable[[bool], None]]=…) -> None - changed:
method SemanticAnalyzerPass2.analyze_member_lvalue(lval: MemberExpr, explicit_type: bool=…) -> None → method SemanticAnalyzerPass2.analyze_member_lvalue(lval: MemberExpr, explicit_type: bool=…, final_cb: Optional[Callable[[bool], None]]=…) -> None - changed:
method SemanticAnalyzerPass2.class_type(info: TypeInfo) -> Type → method SemanticAnalyzerPass2.class_type(self_type: Type) -> Type - changed:
method SemanticAnalyzerPass2.refresh_partial(node: Union[MypyFile, FuncItem, OverloadedFuncDef], patches: List[Tuple[int, Callable[[], None]]]) -> None → method SemanticAnalyzerPass2.refresh_partial(node: Union[MypyFile, FuncDef, OverloadedFuncDef], patches: List[Tuple[int, Callable[[], None]]]) -> None - added:
method SemanticAnalyzerPass2.analyze_name_lvalue(lval: NameExpr, add_global: bool, explicit_type: bool, final_cb: Optional[Callable[[bool], None]]) -> None - added:
method SemanticAnalyzerPass2.check_final_implicit_def(s: AssignmentStmt) -> None - added:
method SemanticAnalyzerPass2.flatten_lvalues(lvalues: List[Expression]) -> List[Expression] - added:
method SemanticAnalyzerPass2.is_final_type(typ: Type) -> bool - added:
method SemanticAnalyzerPass2.make_name_lvalue_point_to_existing_def(lval: NameExpr, explicit_type: bool, final_cb: Optional[Callable[[bool], None]]) -> None - added:
method SemanticAnalyzerPass2.make_name_lvalue_var(lvalue: NameExpr, kind: int, inferred: bool) -> Var - added:
method SemanticAnalyzerPass2.store_final_status(s: AssignmentStmt) -> None - added:
method SemanticAnalyzerPass2.unbox_literal(e: Expression) -> Optional[Union[int, float, bool, str]] - added:
method SemanticAnalyzerPass2.unwrap_final(s: AssignmentStmt) -> None - added:
variable MYPY
- added:
variable MYPY - added:
variable NAMEDTUP_CLASS_ERROR
- changed:
method SemanticAnalyzerPass1.visit_func_def(func: FuncDef) -> None → method SemanticAnalyzerPass1.visit_func_def(func: FuncDef, decorated: bool=…) -> None
- changed:
method SemanticAnalyzerPass3.refresh_partial(node: Union[MypyFile, FuncItem, OverloadedFuncDef], patches: List[Tuple[int, Callable[[], None]]]) -> None → method SemanticAnalyzerPass3.refresh_partial(node: Union[MypyFile, FuncDef, OverloadedFuncDef], patches: List[Tuple[int, Callable[[], None]]]) -> None - added:
method SemanticAnalyzerPass3.update_imported_vars() -> None
- added:
variable MYPY
- added:
variable MYPY - added:
variable TPDICT_CLASS_ERROR
- changed:
function strip_target(node: Union[MypyFile, FuncItem, OverloadedFuncDef]) -> None → function strip_target(node: Union[MypyFile, FuncDef, OverloadedFuncDef]) -> None
- changed:
constructor TypeTriggersVisitor() -> None → constructor TypeTriggersVisitor(use_logical_deps: bool) -> None - changed:
function get_type_triggers(typ: Type) -> List[str] → function get_type_triggers(typ: Type, use_logical_deps: bool) -> List[str] - added:
method DependencyVisitor.get_type_triggers(typ: Type) -> List[str] - added:
method TypeTriggersVisitor.get_type_triggers(typ: Type) -> List[str]
- added:
variable MYPY
- added:
variable MYPY
- added:
variable MYPY
- changed:
function find_targets_recursive(manager: BuildManager, graph: Graph, triggers: Set[str], deps: Dict[str, Set[str]], up_to_date_modules: Set[str]) -> Tuple[Dict[str, Set[DeferredNode]], Set[str], Set[TypeInfo]] → function find_targets_recursive(manager: BuildManager, graph: Graph, triggers: Set[str], deps: Dict[str, Set[str]], up_to_date_modules: Set[str]) -> Tuple[Dict[str, Set[FineGrainedDeferredNode]], Set[str], Set[TypeInfo]] - changed:
function lookup_target(manager: BuildManager, target: str) -> Tuple[List[DeferredNode], Optional[TypeInfo]] → function lookup_target(manager: BuildManager, target: str) -> Tuple[List[FineGrainedDeferredNode], Optional[TypeInfo]] - changed:
function reprocess_nodes(manager: BuildManager, graph: Dict[str, State], module_id: str, nodeset: Set[DeferredNode], deps: Dict[str, Set[str]]) -> Set[str] → function reprocess_nodes(manager: BuildManager, graph: Dict[str, State], module_id: str, nodeset: Set[FineGrainedDeferredNode], deps: Dict[str, Set[str]]) -> Set[str] - changed:
function target_from_node(module: str, node: Union[FuncDef, MypyFile, OverloadedFuncDef, LambdaExpr]) -> Optional[str] → function target_from_node(module: str, node: Union[FuncDef, MypyFile, OverloadedFuncDef]) -> Optional[str] - changed:
function update_deps(module_id: str, nodes: List[DeferredNode], graph: Dict[str, State], deps: Dict[str, Set[str]], options: Options) -> None → function update_deps(module_id: str, nodes: List[FineGrainedDeferredNode], graph: Dict[str, State], deps: Dict[str, Set[str]], options: Options) -> None - added:
variable MYPY
- added:
variable MYPY
- added:
variable MYPY
- added:
variable MYPY
- added:
variable MYPY
- added:
variable MYPY
- removed:
method CallableType.is_concrete_type_obj() -> bool - changed:
constructor AnyType(type_of_any: TypeOfAny, source_any: Optional[AnyType]=…, missing_import_name: Optional[str]=…, line: int=…, column: int=…) -> None → constructor AnyType(type_of_any: int, source_any: Optional[AnyType]=…, missing_import_name: Optional[str]=…, line: int=…, column: int=…) -> None - changed:
constructor CallableType(arg_types: List[Type], arg_kinds: List[int], arg_names: Sequence[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=…, b… → constructor CallableType(arg_types: List[Type], arg_kinds: List[int], arg_names: Sequence[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=…, special_sig: Optional[str]=…, from_type_type: bool=…, bound_args: Sequence[Optional[T… - changed:
method AnyType.copy_modified(type_of_any: Bogus[TypeOfAny]=…, original_any: Bogus[Optional[AnyType]]=…) -> AnyType → method AnyType.copy_modified(type_of_any: Bogus[int]=…, original_any: Bogus[Optional[AnyType]]=…) -> AnyType - added:
class 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.implementation_artifact - added:
field TypeOfAny.special_form - added:
field TypeOfAny.unannotated - added:
function is_invariant_instance(tp: Type) -> bool - added:
function is_optional(t: Type) -> bool - added:
function remove_optional(typ: Type) -> Type - added:
method CallableType.kw_arg() -> Optional[FormalArgument] - added:
method CallableType.var_arg() -> Optional[FormalArgument]
- added:
function hard_exit(status: int=…) -> None