Timedelta cannot be used in match statements
Offen
Dieses Issue hat noch niemand übernommen.
extension-modules
stdlib
type-feature
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug report
Bug description:
Timedelta cannot be evaluated in match statements, see example below
from datetime import timedelta
td = timedelta(hours=1)
print(td == timedelta(hours=1)) # evaluates to True
match td:
case timedelta(days=1):
print('day')
case timedelta(hours=1):
print('hour')
case _:
print('unhandled') # prints `unhandled`
CPython versions tested on:
3.11
Operating systems tested on:
macOS
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 damit, die bereitgestellte timedelta-Match-Anweisung auf CPython 3.11 zu reproduzieren und ihr Verhalten mit Gleichheit zu vergleichen. Da im Issue weder eine Quelldatei noch ein Test-Einstiegspunkt genannt wird, verfolge, wie Klassenmuster timedelta-Attribute behandeln, und bestimme das erwartete Matching-Verhalten, bevor du einen geeigneten Regressionstest identifizierst.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100