pub fn specs_intersect(a: &str, b: &str) -> boolExpand description
Do two PEP 440 specifier sets have a non-empty intersection — i.e. does
any version satisfy both a and b? Used to decide whether a declared
range (e.g. >=2.0) permits a version that an advisory marks vulnerable
(e.g. <2.11.3), without needing a concrete pin.
Sound finite sweep: every constraint’s truth value only changes at one of
the boundary versions named in a/b. We test each boundary, a point just
above each boundary, and a point below all of them; if any candidate
satisfies both specifier sets, they intersect.