1
J'ai une classe qui hérite de MutableSequence
comme ceci:mypy: Signature de "__getitem__" incompatible avec supertype "séquence"
class QqTag(MutableSequence):
def __init__(self):
self._children = []
def __getitem__(self, idx: int) -> 'QqTag':
return self._children[idx]
mypy se plaint que Signature of "__getitem__" incompatible with supertype "Sequence"
.
En Sequence
, cette méthode est définie comme:
@abstractmethod
def __getitem__(self, index):
raise IndexError
Alors, quel est le problème et pourquoi mypy est pas content de ma mise en œuvre?
Juste une supposition - mais ce qui se passe si vous supprimez l'annotation de type ...? –
@JonClements: cela devrait être possible de spécifier, cependant. –
@Martijn ouais ... était juste une conjecture sauvage que si elle vérifie l'annotation de type et gémit qu'elle pense qu'elle est restrictive de la base - après tout, le 'idx 'n'a pas besoin d'être un' int' etc ... –