Skip to content

Conversation

@notatallshaw
Copy link
Member

@notatallshaw notatallshaw commented Oct 29, 2025

Towards #943

I am reviewing arbitrary equality edge cases, here's an edge case that violates intersection preservation :

>>> list(SpecifierSet("===1.0").filter(["1.0", "1.0.0"]))
['1.0']
>>> list(SpecifierSet("===1.0.0").filter(["1.0", "1.0.0"]))
['1.0.0']
>>> list(SpecifierSet("===1.0,===1.0.0").filter(["1.0", "1.0.0"]))
['1.0']

The last expression is fixed by this PR:

>>> list(SpecifierSet("===1.0,===1.0.0").filter(["1.0", "1.0.0"]))
[]

@notatallshaw notatallshaw force-pushed the fix-arbitrary-equality-symmetry branch from fb2846f to 06ae1be Compare October 29, 2025 00:33
@notatallshaw notatallshaw merged commit b68980b into pypa:main Oct 31, 2025
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants