diff --git a/src/poetry/puzzle/solver.py b/src/poetry/puzzle/solver.py index cd9d7ec2113..cc2ca202a81 100644 --- a/src/poetry/puzzle/solver.py +++ b/src/poetry/puzzle/solver.py @@ -140,11 +140,9 @@ def _solve(self, use_latest: list[str] = None) -> tuple[list[Package], list[int] except SolveFailure as e: raise SolverProblemError(e) - # NOTE passing explicit empty array for seen to reset between invocations during - # update + install cycle results = dict( depth_first_search( - PackageNode(self._package, packages, seen=[]), aggregate_package_nodes + PackageNode(self._package, packages), aggregate_package_nodes ) ) @@ -253,7 +251,6 @@ def __init__( self, package: Package, packages: list[Package], - seen: list[Package], previous: PackageNode | None = None, previous_dep: None | ( @@ -274,7 +271,6 @@ def __init__( ) -> None: self.package = package self.packages = packages - self.seen = seen self.previous = previous self.previous_dep = previous_dep @@ -301,12 +297,6 @@ def __init__( def reachable(self) -> list[PackageNode]: children: list[PackageNode] = [] - # skip already traversed packages - if self.package in self.seen: - return [] - else: - self.seen.append(self.package) - if ( self.dep and self.previous_dep @@ -343,7 +333,6 @@ def reachable(self) -> list[PackageNode]: PackageNode( pkg, self.packages, - self.seen, self, dependency, self.dep or dependency,