cmd/go: search breadth-first instead of depth-first for test dependency cycles
When we are looking for a dependency cycle involving a specific package, we need to keep track of visited packages in order to avoid repeatedly traversing a cycle that does not involve that package. If we're keeping track of all visited packages anyway, we're already spending O(N) memory on the traversal, so we may as well use breadth-first search. That not only keeps the bookkeeping simple, but also guarantees that we will find a shortest path (rather than a completely arbitrary one). Fixes #45863 Change-Id: I810c7337857e42dcb83630abbdea75021554be45 Reviewed-on: https://go-review.googlesource.com/c/go/+/330430 Trust: Bryan C. Mills <bcmills@google.com> Reviewed-by:Jay Conrod <jayconrod@google.com>
Loading
Please sign in to comment