Wrong typing warning for map. (Argument X to "map" has incompatible type overloaded function)
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
I write this function to check the rightmost common element of two list.
this is the code.
import itertools
def get_common_index(*names: str) -> int:
"""zip genalogy history name tag."""
return max(
i
for i, x in enumerate(
map(
lambda x: len(set(x)) > 1,
list(reversed(list(itertools.zip_longest(*map(reversed, names), fillvalue="0")))),
)
)
if x
)
print(get_common_index("1110111111", "101101111")
It works fine, and the input types are correct.
$ python test.py
5
But mypy raise the following error message.
$ mypy test.py
test.py:24: error: Argument 1 to "map" has incompatible type overloaded function; expected "Callable[[str], Iterator[_T]]"
Is this an error of mypy?
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, den Bericht mit dem bereitgestellten Beispiel test.py zu reproduzieren und mypy's Behandlung der Überladungen von map, reversed und itertools.zip_longest zu untersuchen. Verfolge, warum das an map übergebene Callable inkompatibel inferiert wird, und füge anschließend einen Regressionstest hinzu oder aktualisiere einen, der zeigt, dass gültige Eingabetypen diese Warnung nicht mehr erzeugen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100