python / python/mypy

Type checking `struct.unpack`

Offen
#20,869 1 Kommentar 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature topic-plugins
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Feature

Recently I made a PR for ty to allow the type checker to inspect calls to struct.unpack and return static typing instead of having to cast() or ignoring the type. I believe mypy should add this too.

https://github.com/astral-sh/ty/issues/2437
https://github.com/astral-sh/ruff/pull/22562

Examples:
https://github.com/astral-sh/ruff/blob/main/crates/ty_python_semantic/resources/mdtest/struct_unpack.md

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Lies zunächst das verknüpfte ty issue und den Ruff PR und überprüfe anschließend das Beispiel struct_unpack.md unter crates/ty_python_semantic/resources/mdtest/struct_unpack.md. Verfolge, wie mypy Aufrufe von struct.unpack behandelt, und ermittle anhand dieser Beispiele die beabsichtigten inferierten Typen. Erledigt ist die Aufgabe, wenn mypy statische Typisierung für unterstützte Aufrufe von struct.unpack bereitstellt, ohne dass casts oder ignores erforderlich sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
devtools
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.