Commits
Click on a commit to change the comparison rangeinfer recursive function's return type Merge remote-tracking branch 'upstream/main' into infer-return-type Apply suggestions from code review Merge remote-tracking branch 'upstream/main' into infer-return-type Merge remote-tracking branch 'upstream/main' into infer-return-type fix according to the review comments Merge remote-tracking branch 'upstream/main' into infer-return-type refactor: `inferred_return_ty` -> `infer_return_type` Infer return types of (non-final) methods according to MRO Use `callable_type` to get the return type instead of passing a closure Merge remote-tracking branch 'upstream/main' into infer-return-type Add `CallStack` to prevent divergence in type inference for recursive functions make `TupleType::to_class_type` a tracked function increase `max_diagnostics` in `sympy` move `scipy` to `good.txt` and `manticore` to `bad.txt` move `ScopeInference::returnees` to `ScopeInferenceExtra` Avoid unspecialized type variables appearing in the return type Update ty_check_invalid_syntax.rs fix for fuzzer-reported panic use `CycleDetector` with `has_divergent_type()` increase max number of `pandas` diagnostics No type normalization in `infer_return_type` move `sympy` to `good.txt` The return type of a generator function is `Unknown` for now Add unit tests for the `Divergent` type remove `divergence_safe_{todo, unknown}` simply call the tracked function instead of using `LazyCell` Revert "revert an unnecessary change" remove `ScopeInference::scope` revert changes in `narrow.rs` `ScopeInference::cycle_fallback() == Divergent` remove special casing of `Divergent` in union/intersection reduction Revert "remove special casing of `Divergent` in union/intersection reduction" Merge branch 'main' into infer-return-type `DivergentType` has a `ScopeId` clarify that the inferred return type is not exposed in the signature Merge branch 'main' into infer-return-type remove unnecessary changes Update crates/ty_python_semantic/resources/mdtest/function/return_type.md Merge branch 'main' into infer-return-type Merge branch 'main' into infer-return-type remove the `debug_assertions` attributes do nothing except normalization of recursive types when `visitor.is_recursive()` Merge branch 'main' into infer-return-type union the previous cycle type in `implicit_attribute` Add `PossiblyRecursive{Scope, Definition, Expression}` experiment: `DivergentType::scope: ScopeId -> file: File, file_scope: FileScopeId` Revert "experiment: `DivergentType::scope: ScopeId -> file: File, file_scope: FileScopeId`" proper cycle recovery handling for `infer_expression_types` Merge branch 'main' into infer-return-type Revert "use `any_over_type` in `has_divergent_type`" separate `NormalizedVisitor` and `RecursiveTypeNormalizedVisitor` Merge branch 'main' into infer-return-type Merge branch 'main' into infer-return-type use `any_over_type` in `has_divergent_type` revert unnecessary changes for the purpose of this PR use `CycleRecoveryAction::Fallback` even within `infer_scope_types` Merge branch 'main' into infer-return-type Merge branch 'main' into infer-return-type revert unnecessary changes Merge branch 'main' into infer-return-type fix `Type::cycle_normalized` add `IntersectionBuilder::intersection_hashes` Revert "add `IntersectionBuilder::intersection_hashes`" simply filter `InnerIntersectionBuilder`s using equality check Merge branch 'main' into pr/17371 don't use return type context to specialize `__init__` type variables