Possibility to type `tuple.__hash__` to only accept hashable items
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 5.1k
- Forks
- 2.1k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 82
Beschreibung
If a tuple contains unhashable entries, hashing it would raise TypeError. Is this possible to type? Currently, tuple.__hash__ is just a regular method that returns int.
This initial idea comes to mind, but on second thought, it would likely break a lot of code:
class tuple(Sequence[_T_co]):
def __hash__(self: tuple[Hashable, ...]) -> int: ...
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 mit der typeshed-Definition der Klasse tuple und ihrer Methode tuple.hash, wie im Issue beschrieben. Untersuche, ob die Beschränkung des Hashings auf Tupel aus Hashable-Elementen sinnvoll ist, ohne bestehenden Code zu beschädigen, und dokumentiere anschließend einen festgelegten typbezogenen Ansatz und validiere ihn anhand des relevanten Verhaltens der Typprüfung.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- developer-experience
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100