Skip to content

Commit 0c36adc

Browse files
Fix reliance on unspecified behavior in test_disambiguators.py (#642)
See python/cpython#131933. Python does not guarantee that running `Union[A, B]` twice gives the same object back. This test is currently broken in Python 3.14 main.
1 parent d8f17b7 commit 0c36adc

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

Diff for: tests/test_disambiguators.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ class G:
208208

209209
fn = create_default_dis_func(c, E, F, G)
210210
assert fn({"op": 1}) is E
211-
assert fn({"op": 0, "t": "MESSAGE_CREATE"}) is Union[F, G]
211+
assert fn({"op": 0, "t": "MESSAGE_CREATE"}) == Union[F, G]
212212

213213
# can it handle multiple literals?
214214
@define
@@ -224,8 +224,8 @@ class K:
224224
a: Literal[0]
225225

226226
fn = create_default_dis_func(c, H, J, K)
227-
assert fn({"a": 1}) is Union[H, J]
228-
assert fn({"a": 0}) is Union[J, K]
227+
assert fn({"a": 1}) == Union[H, J]
228+
assert fn({"a": 0}) == Union[J, K]
229229

230230

231231
def test_default_no_literals():

0 commit comments

Comments
 (0)