Description
<img src="https://avatars.githubusercontent.com/u/188?v=3" align="left" width="96" height="96"hspace="10"> Issue by nex3
Originally opened as dart-lang/sdk#16961
The following pubspec causes pub's version resolution to go exponential:
name: app
dependencies:
intl: 0.9.0
polymer: "<=0.9.5"
This happens as of 1.2.0-edge.32615; the exponential churn involves pub's barback constraint, so it may change in future versions. The same pattern should persist, though.
This is caused by a conflicting constraint (intl and recent stack_trace versions have disjoint constraints on path), and compounded by the fact that pub tries to backtrack through every archived version of polymer. We may be able to mitigate this behavior by more aggressively checking for disjoint constraints; we may not be able to avoid checking all older polymer versions, but we can quickly discard them by noticing that their barback constraint is disjoint with pub's.