error in argument when using chained function-call
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Example:
dct = {"": ""}
# ok
trans = str.maketrans(dct)
"".translate(trans)
# err
"".translate(str.maketrans(dct))
- What is the actual behavior/output?
maketrans.py:8: error: Argument 1 to "maketrans" of "str" has incompatible type "Dict[str, str]"; expected "Union[Dict[int, Union[int, str, None]], Dict[str, Union[int, str, None]], Dict[Union[str, int], Union[int, str, None]]]"
- What is the behavior/output you expect?
No error.
- What are the versions of mypy and Python you are using?
I tested both mypy 0.610 and mypy 0.620+dev-0ca6bf9ce63439a1e8bcc4dec80ef12f8414cb87 with Python 3.6.5; behavior is identical.
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 mit dem Beispiel für einen verketteten Aufruf in maketrans.py und reproduziere es mit Python 3.6.5 und den angegebenen mypy-Versionen. Vergleiche die separaten und verschachtelten Aufrufe von str.maketrans; abgeschlossen ist die Aufgabe, wenn die verschachtelte Form nicht mehr den Fehler bezüglich des inkompatiblen Arguments Dict[str, str] meldet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100