python / python/mypy_extensions

`test_py36_class_syntax_usage` fails on py 3.14.0a6

Open
#65 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
155
Forks
39
Avg merge
7h 36m
Merged PRs (30d)
1

Description

=================================== FAILURES ===================================
_________________ TypedDictTests.test_py36_class_syntax_usage __________________

self = <testextensions.TypedDictTests testMethod=test_py36_class_syntax_usage>

    def test_py36_class_syntax_usage(self):
        self.assertEqual(LabelPoint2D.__name__, 'LabelPoint2D')  # noqa
        self.assertEqual(LabelPoint2D.__module__, __name__)  # noqa
>       self.assertEqual(LabelPoint2D.__annotations__, {'x': int, 'y': int, 'label': str})  # noqa
E       AssertionError: {'label': <class 'str'>} != {'x': <class 'int'>, 'y': <class 'int'>, 'label': <class 'str'>}
E       - {'label': <class 'str'>}
E       + {'label': <class 'str'>, 'x': <class 'int'>, 'y': <class 'int'>}

tests/testextensions.py:105: AssertionError
=========================== short test summary info ============================
FAILED tests/testextensions.py::TypedDictTests::test_py36_class_syntax_usage - AssertionError: {'label': <class 'str'>} != {'x': <class 'int'>, 'y': <clas...
========================= 1 failed, 11 passed in 0.08s =========================

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure in tests/testextensions.py with Python 3.14.0a6, focusing on TypedDictTests.test_py36_class_syntax_usage and the LabelPoint2D annotations shown in the report. Compare the observed annotations with the test's expected mapping and verify the test passes without breaking the other 11 tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.