预期类型“Iterable”(匹配泛型类型“Iterable[SupportsLessThanT]”)

ric*_*fox 4 python python-typing

@dataclass(frozen=True, eq=True, order=True)
class C:
    x: int

l = [C(1), C(2), C(1)]
print(sorted(l))
Run Code Online (Sandbox Code Playgroud)

上面的代码可以工作,但会发出警告: Expected type 'Iterable' (matched generic type 'Iterable[SupportsLessThanT]'), got 'list[C]' instead

我认为order=True传递给的参数@dataclass应该导致生成__lt__等,从而确认SupportsLessThanT

显式实现可以__lt__使警告静音,但是如果不这样做,我该如何使其静音呢?

ric*_*fox 6

显然是 PyCharm 中的一个已知错误,已在此处跟踪