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__使警告静音,但是如果不这样做,我该如何使其静音呢?