mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-14 07:38:21 +00:00
[ty] Meta-type of type variables should be type[..] (#18439)
## Summary Came across this while debugging some ecosystem changes in https://github.com/astral-sh/ruff/pull/18347. I think the meta-type of a typevar-annotated variable should be equal to `type`, not `<class 'object'>`. ## Test Plan New Markdown tests.
This commit is contained in:
parent
03f1f8e218
commit
0986edf427
2 changed files with 20 additions and 1 deletions
|
@ -5243,7 +5243,7 @@ impl<'db> Type<'db> {
|
|||
Type::Tuple(_) => KnownClass::Tuple.to_class_literal(db),
|
||||
|
||||
Type::TypeVar(typevar) => match typevar.bound_or_constraints(db) {
|
||||
None => KnownClass::Object.to_class_literal(db),
|
||||
None => KnownClass::Type.to_instance(db),
|
||||
Some(TypeVarBoundOrConstraints::UpperBound(bound)) => bound.to_meta_type(db),
|
||||
Some(TypeVarBoundOrConstraints::Constraints(constraints)) => {
|
||||
// TODO: If we add a proper `OneOf` connector, we should use that here instead
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue