test_type_repr (test.test_annotationlib.TestTypeRepr.test_type_repr) ... ok
======================================================================
FAIL: test_nonexistent_attribute (test.test_annotationlib.TestForwardRefFormat.test_nonexistent_attribute)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/buildbot/buildarea/3.14.ware-debian-x86.installed/build/target/lib/python3.14/test/test_annotationlib.py", line 161, in test_nonexistent_attribute
self.assertEqual(epsilon_anno, support.EqualToForwardRef("some | {obj, module}", owner=f))
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: ForwardRef('some | {module, obj}', owner=[79 chars]810>) != EqualToForwardRef('some | {obj, module}',[86 chars]810>)
----------------------------------------------------------------------
Ran 110 tests in 0.079s
FAILED (failures=1)
I stuck this into Claude and it the cause was due to non-deterministic set ordering, which I think is correct. I stuck a random.shuffle(elts) below and was able to repro the issue locally:
Seen in a 3.14 buildbot
https://buildbot.python.org/#/builders/1793/builds/879/steps/8/logs/stdio
I stuck this into Claude and it the cause was due to non-deterministic set ordering, which I think is correct. I stuck a
random.shuffle(elts)below and was able to repro the issue locally:cpython/Lib/annotationlib.py
Lines 390 to 399 in a01694d
Looks related to:
cc @JelleZijlstra
Linked PRs