Index: lib/src/solver/backtracking_solver.dart |
diff --git a/lib/src/solver/backtracking_solver.dart b/lib/src/solver/backtracking_solver.dart |
index 4735aada47c37880035c9dbabe6921b61b2132e9..42f1cd65e72b1a471b05610eba273b5815463a11 100644 |
--- a/lib/src/solver/backtracking_solver.dart |
+++ b/lib/src/solver/backtracking_solver.dart |
@@ -579,6 +579,13 @@ class BacktrackingSolver { |
} else { |
// Ignore any overridden dependencies. |
deps.removeWhere((dep) => _overrides.containsKey(dep.name)); |
+ |
+ // If an overridden dependency depends on the root package, ignore that |
+ // dependency. This ensures that users can work on the next version of one |
+ // side of a circular dependency easily. |
+ if (_overrides.containsKey(id.name)) { |
+ deps.removeWhere((dep) => dep.name == root.name); |
+ } |
} |
// Make sure the package doesn't have any bad dependencies. |