Generic class with broken `__eq__` cannot be specialized
Offen
@JelleZijlstra arbeitet bereits daran.
Seit 03.6.2024.
3.12
3.13
3.14
topic-typing
type-bug
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 36k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug report
Bug description:
This test case currently fails:
def test_buggy_eq(self):
class BrokenEq(abc.ABCMeta):
def __eq__(self, other):
raise TypeError("I'm broken")
class G(Generic[T], metaclass=BrokenEq):
pass
alias = G[int]
self.assertIs(get_origin(alias), G)
self.assertEqual(get_args(alias), (int,))
See python/typing_extensions#422 for a real-world example.
CPython versions tested on:
CPython main branch
Operating systems tested on:
macOS
Linked PRs
- gh-119973
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.
Bewertung
Dieses Issue wurde noch nicht bewertet.