Commits
Click on a commit to change the comparison rangeTreat TypeVar as Any for descriptor protocol Merge branch 'main' into dcreager/legacy-typevar-instance
* main:
[red-knot] fix collapsing literal and its negation to object (#17605)
[red-knot] Add more tests for protocols (#17603)
[red-knot] Ban direct instantiations of `Protocol` classes (#17597)
[`pyupgrade`] Preserve parenthesis when fixing native literals containing newlines (`UP018`) (#17220)
[`airflow`] fix typos (`AIR302`, `AIR312`) (#17574)
[red-knot] Special case `@abstractmethod` for function type (#17591)
[red-knot] Emit diagnostics for isinstance() and issubclass() calls where a non-runtime-checkable protocol is the second argument (#17561)
[red-knot] Infer the members of a protocol class (#17556)
[red-knot] Add `FunctionType::to_overloaded` (#17585)
[red-knot] Add mdtests for `global` statement (#17563)
[syntax-errors] Make duplicate parameter names a semantic error (#17131) Merge branch 'main' into dcreager/legacy-typevar-instance
* main: (27 commits)
[red-knot] Add new property tests for subtyping with "bottom" callable (#17635)
[red-knot] Create generic context for generic classes lazily (#17617)
ruff_db: add tests for annotations with no ranges
[`airflow`] Extend `AIR301` rule (#17598)
[`airflow`] update existing `AIR302` rules with better suggestions (#17542)
red_knot_project: sort diagnostics from checking files
[red-knot] fix detecting a metaclass on a not-explicitly-specialized generic base (#17621)
[red-knot] fix inheritance-cycle detection for generic classes (#17620)
[`pylint`] Detect `global` declarations in module scope (`PLE0118`) (#17411)
Add Semantic Error Test for LateFutureImport (#17612)
[red-knot] change TypeVarInstance to be interned, not tracked (#17616)
[red-knot] Special case `@final`, `@override` (#17608)
[red-knot] add TODO comment in specialization code (#17615)
[`semantic-syntax-errors`] test for `LoadBeforeGlobalDeclaration` - ruff linter (#17592)
[syntax-errors] `nonlocal` declaration at module level (#17559)
[`airflow`] Apply auto fix to cases where name has been changed in Airflow 3 (`AIR311`) (#17571)
[syntax-errors] Make `async-comprehension-in-sync-comprehension` more specific (#17460)
Bump 0.11.7 (#17613)
[red-knot] Use iterative approach to collect overloads (#17607)
red_knot_python_semantic: avoid Rust's screaming snake case convention in mdtest
... Add false positive test for annotated assignment Merge branch 'main' into dcreager/legacy-typevar-instance
* main:
[`ruff`] add fix safety section (`RUF017`) (#17480)
Add Python 3.14 to configuration options (#17647)
[`airflow`] Apply auto fixes to cases where the names have changed in Airflow 3 (`AIR302`) (#17553)