mirror of https://github.com/astral-sh/ruff
Fixes https://github.com/astral-sh/ty/issues/1832, fixes https://github.com/astral-sh/ty/issues/1513 ## Summary A class object `C` (for which we infer an unspecialized `ClassLiteral` type) should always be assignable to the type `type[C]` (which is default-specialized, if `C` is generic). We already implemented this for most cases, but we missed the case of a generic final type, where we simplify `type[C]` to the `GenericAlias` type for the default specialization of `C`. So we also need to implement this assignability of generic `ClassLiteral` types as-if default-specialized. ## Test Plan Added mdtests that failed before this PR. --------- Co-authored-by: David Peter <mail@david-peter.de> |
||
|---|---|---|
| .. | ||
| conditionals | ||
| assert.md | ||
| assignment.md | ||
| bool-call.md | ||
| boolean.md | ||
| complex_target.md | ||
| hasattr.md | ||
| isinstance.md | ||
| issubclass.md | ||
| match.md | ||
| post_if_statement.md | ||
| truthiness.md | ||
| type.md | ||
| type_guards.md | ||
| while.md | ||