python / python/mypy

Make `ignore_pos_arg_names=False` for overrides when using `--extra-checks`

Offen
#20,446 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

Feature

We can check positional argument names for overriding functions.

class A:
    def f(self, x: int) -> None:
        pass
    
class B(A):
    def f(self, _x: int) -> None:  # this *should* error, but doesn't currently
        pass

Pitch

Well, ignoring positional arguments is obviously not type safe. It's annoying, sure, but in my mind that's the class of checks that --extra-checks encompasses (technically correct but annoying).

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

Beginne damit, die Prüfung von Überschreibungen und die Behandlung positionaler Argumentnamen nachzuverfolgen, wenn --extra-checks aktiviert ist. Bestätige das bestehende Verhalten anhand des A- und B-Beispiels und füge dann Tests hinzu, die zeigen, dass unterschiedliche positionale Namen unter --extra-checks gemeldet werden und dass die Prüfung ansonsten ignoriert bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
compilers
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 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.