# Regression test for https://golang.org/issue/48511: # requirement minimization was accidentally replacing previous # versions of the main module, causing dependencies to be # spuriously dropping during requirement minimization and # leading to an infinite loop. cp go.mod go.mod.orig go mod tidy cmp go.mod go.mod.orig go get -u=patch ./... cmp go.mod go.mod.want -- go.mod -- module example.net/m go 1.16 replace ( example.net/a v0.1.0 => ./a example.net/b v0.1.0 => ./b example.net/b v0.1.1 => ./b example.net/m v0.1.0 => ./m1 ) require example.net/a v0.1.0 -- go.mod.want -- module example.net/m go 1.16 replace ( example.net/a v0.1.0 => ./a example.net/b v0.1.0 => ./b example.net/b v0.1.1 => ./b example.net/m v0.1.0 => ./m1 ) require ( example.net/a v0.1.0 example.net/b v0.1.1 // indirect ) -- m.go -- package m import "example.net/a" -- m1/go.mod -- module example.net/m go 1.16 require example.net/b v0.1.0 -- a/go.mod -- module example.net/a go 1.16 require example.net/m v0.1.0 -- a/a.go -- package a import "example.net/b" -- b/go.mod -- module example.net/b go 1.16 -- b/b.go -- package b