Proposal: Intersect and Disjoint Operations for Python Version Specifiers

Thanks for the detailed explanation of what uv does.

I think though uv has made some design choices that don’t work quite the same as other resolvers, for example if the user requires A==1.0.0, and A-1.0.0 requires B >= 2.0.0a0, and the set of versions of B available are {1.0.0, 2.0.0a1} my understanding is uv will report this as an impossible resolution?