You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
test_py36_class_syntax_usage fails on py 3.14.0a6 #65
Found while building both mypy-extensions 1.0.0 and 1.1.0 on NixOS.
Building against python 3.14.0a6. Python 3.14 is expected to release 2025-10-07, so there is still time to fix this.
I understand python 3.14 is currently an alpha, but it imo it makes sense to report these things as early as they are found.
Is this just a problem in the test and so is it safe to ignore the test failure on Python 3.14? Or, is there a real bug in mypy_extensions that should be fixed?
It's a real bug in a sense, but it only matters if you (a) use mypy_extensions.TypedDict (which you shouldn't; it's been in typing and typing_extensions for a long time) and (b) rely on runtime introspection of its __annotations__.
Activity
cdce8p commentedon May 1, 2025
This looks like it's related to the PEP 649 implementation in Python 3.14.
/CC @JelleZijlstra
JelleZijlstra commentedon May 1, 2025
This is because
mypy_extensions.TypedDictlooks at__annotations__in the class dict, which no longer works.The easiest fix would be to just re-export
typing.TypedDicton newer Python versions.cdce8p commentedon May 1, 2025
Ideally yes, however support for the keyword-argument syntax was removed in
3.13which is still "supported" here.mypy_extensions/tests/testextensions.py
Lines 69 to 70 in 9fc7fe0
JelleZijlstra commentedon May 1, 2025
Another fix would be to apply the changes to
typing.TypedDictfrom 3.14 to this implementation.mtelka commentedon Nov 26, 2025
Is this just a problem in the test and so is it safe to ignore the test failure on Python 3.14? Or, is there a real bug in
mypy_extensionsthat should be fixed?JelleZijlstra commentedon Nov 26, 2025
It's a real bug in a sense, but it only matters if you (a) use
mypy_extensions.TypedDict(which you shouldn't; it's been in typing and typing_extensions for a long time) and (b) rely on runtime introspection of its__annotations__.