fix(checker): handle generic overloads
This commit is contained in:
@@ -664,9 +664,10 @@ class PythonTyper(
|
||||
|
||||
# No match -> invalid call
|
||||
if n_candidates == 0:
|
||||
overloads_str: str = ", ".join(map(str, overloads))
|
||||
self.reporter.error(
|
||||
location,
|
||||
f"No matching overload in {overloads} {for_args}",
|
||||
f"No matching overload in [{overloads_str}] {for_args}",
|
||||
)
|
||||
return None
|
||||
|
||||
|
||||
@@ -164,6 +164,14 @@ def substitute_typevars(type: Type, substitutions: dict[str, Type]) -> Type:
|
||||
returns=substitute_typevars(returns, substitutions),
|
||||
)
|
||||
|
||||
case OverloadedFunction(overloads=overloads):
|
||||
return OverloadedFunction(
|
||||
overloads=[
|
||||
substitute_typevars(overload, substitutions)
|
||||
for overload in overloads
|
||||
]
|
||||
)
|
||||
|
||||
case ComplexType(members=members):
|
||||
members2: dict[str, Type] = {
|
||||
name: substitute_typevars(prop, substitutions)
|
||||
|
||||
Reference in New Issue
Block a user