python / python/mypy

Implement a check when float-only operations are used

Offen
#19,693 1 Kommentar 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

Implement a new check that emits an error when the following conditions are met:

  1. A name is typed as builtins.float
  2. No runtime cast (the_name = float(the_name)) on that name is done
  3. A float-only attribute (like builtins.float.hex) on that name is used

This can also be extended for when the builtins.complex.__complex__ attribute (or other complex-only attributes) is used on a builtins.complex-typed name without a runtime cast.

Pitch

This document explains the whole problem.

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

Das Issue nennt keine Dateien, Tests oder Einstiegspunkte; beginne mit dem verlinkten Dokument zum float/complex-Problem und verfolge die Behandlung von float-only-Attributen im Type-Checker. Erledigt ist die Aufgabe, wenn für den angegebenen Fall eines nicht gecasteten float-Werts ein Fehler ausgegeben wird; die complex-Erweiterung soll nur berücksichtigt werden, wenn sie unterstützt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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