class-with-mixed-type-vars (RUF053)
有时提供修复。
作用
检查同时具有 PEP 695 并且继承自 typing.Generic
或 typing_extensions.Generic
的类。
为什么这不好?
此类类会在运行时导致错误
from typing import Generic, TypeVar
U = TypeVar("U")
# TypeError: Cannot inherit from Generic[...] multiple times.
class C[T](Generic[U]): ...
示例
from typing import Generic, ParamSpec, TypeVar, TypeVarTuple
U = TypeVar("U")
P = ParamSpec("P")
Ts = TypeVarTuple("Ts")
class C[T](Generic[U, P, *Ts]): ...
建议改为
修复安全性
由于修复会更改运行时行为,因此始终标记为不安全。 此外,修复范围内的注释将不会被保留。