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 commented on May 1, 2025
This looks like it's related to the PEP 649 implementation in Python 3.14.
/CC @JelleZijlstra
JelleZijlstra commented on May 1, 2025
This is because mypy_extensions.TypedDict looks at __annotations__ in the class dict, which no longer works.
The easiest fix would be to just re-export typing.TypedDict on newer Python versions.
cdce8p commented on May 1, 2025
Ideally yes, however support for the keyword-argument syntax was removed in 3.13 which is still "supported" here.
mypy_extensions/tests/testextensions.py
Lines 69 to 70 in 9fc7fe0
JelleZijlstra commented on May 1, 2025
Another fix would be to apply the changes to typing.TypedDict from 3.14 to this implementation.
mtelka commented on 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_extensions that should be fixed?
JelleZijlstra commented on 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__.