from typing import TypeVar
from typing import TypeVar, Iterable, Iterator
class Series:
...
class DataFrame:
def __iter__(self) -> Iterator[Series]:
...
FrameType = TypeVar("FrameType", bound="DataFrame")
def main(left: DataFrame, right: DataFrame) -> None:
def func(*a: FrameType | Iterable[FrameType]) -> None:
return None
func(left, right)
ERROR `Series` is not assignable to upper bound `DataFrame` of type variable `FrameType` [bad-specialization]
--> t.py:18:9
|
18 | func(left, right)
| ^^^^^^^^^^^^^
|
INFO 1 error
Describe the Bug
pyrefly:
Both
leftandrightareDataFrameso we should be able to pass them both tofuncSandbox Link
https://pyrefly.org/sandbox/?project=N4IgZglgNgpgziAXKOBDAdgEwEYHsAeAdAA4CeS4ATrgLYAEALqcROgOZ0Q3G6UN0AVZjABqqSgB10YavSYt2nbr35Dio8QBo6ASQYxKqbLG16DqBrylSAxlFRw4dAMoGI8RFLre6hP9fQ7BycAEQtUADFDGhhPdB86TBgwOgB9VIh9SnSACjgYKDAASjoAWgA%2BXSyLXgBtV0p3OABdOISEv0IAqNQYtRg6AF5BYTFKHIkQHr7hSe08AFcsQcmwhkjomEmigKSUmlRWHNgwBkQ6NY3emG1GtgALM4vw6ZgSiroAOVx0WICEvZ0MBLGw5ABUqHOr36dAAPlVzMYYLVocJmu9Kt9fm12t5KDAGAtKPEsVt0F4fMDAsdkgxbhAHgwiiBNCAyPiwFBSIRLDQoBQAMR0AAKpA5XLoaCweHwdBsP0gbCJFggPy66CFrgGjwYxDgiAA9Ab2ckuYReGwDTB0AbMLgbHADfLpAzlQxVTagbw6KgAG6HexIuUK12Gd0-Oi4Yjh9BwdVkBj3H6lX0GOAeoZ0SYAZkIAEYAEyTKS1AzUSgtKRLLg8PgwTClTAQfE2d2pzMAcgZ6F4MA7Uh7DFK%2BIAjgtm-XSgBrGCkUqoGw2eBOYYdgDu4nQ-fQIAAvqyF22YBFoDAKFKcAQSORd0A
(Only applicable for extension issues) IDE Information
No response