Bug with filter
Offen
Dieses Issue hat noch niemand übernommen.
bug
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
from typing import Optional
from typing import Sequence
from more_itertools import first
class A:
def some_method(self):
pass
def f(inp: Sequence[A]) -> Optional[A]:
return first(filter(lambda a: a.some_method(), inp), None)
Output
test.py:13: error: Item "None" of "Optional[A]" has no attribute "some_method"
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die Diagnose mit dem Python-Snippet im Issue zu reproduzieren, und verfolge dann, wie mypy die Callback- und Ergebnistypen für filter und more_itertools.first ableitet. Die Korrektur ist vollständig, wenn dieses Beispiel nicht mehr meldet, dass der Wert None sein kann, während tatsächlich optionale Werte weiterhin korrekt geprüft werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100