ctypes nested array constructor doesn't work with sequences
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Using Python 3.7 and mypy 0.660 on the following code:
import ctypes
Quaternion = ctypes.c_int * 4
Pair = Quaternion * 2
quat = Quaternion(1, 2, 3, 4)
p = Pair((1, 2, 3, 4), (2, 3, 4, 5))
returns
$ mypy ctypes_nested.py
ctypes_nested.py:7: error: Array constructor argument 1 of type "Tuple[builtins.int, builtins.int, builtins.int, builtins.int]" is not convertible to the array element type "ctypes.Array[ctypes.c_int]"
ctypes_nested.py:7: error: Array constructor argument 2 of type "Tuple[builtins.int, builtins.int, builtins.int, builtins.int]" is not convertible to the array element type "ctypes.Array[ctypes.c_int]"
even though at runtime this constructor works just fine. Of course, changing the constructor to Pair(Quaternion(1, 2, 3, 4), Quaternion(2, 3, 4, 5)) works just fine.
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
Reproduziere das Problem mit dem Python- und ctypes-Snippet im Bericht und verfolge anschließend, wie mypy Argumente von ctypes-Array-Konstruktoren und verschachtelte Array-Elemente verarbeitet. Als erledigt gilt die Aufgabe, wenn Pair((1, 2, 3, 4), (2, 3, 4, 5)) ohne Fehler typgeprüft wird, während die bestehenden Quaternion- und expliziten verschachtelten Array-Formen weiterhin gültig bleiben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100