# Check that mod tidy does not introduce repeated
# require statements when input go.mod has quoted requirements.
env GO111MODULE=on

go mod tidy
grep -count=1 rsc.io/quote go.mod

cp go.mod2 go.mod
go mod tidy
grep -count=1 rsc.io/quote go.mod


-- go.mod --
module x

-- x.go --
package x
import "rsc.io/quote"
func main() { _ = quote.Hello }

-- go.mod2 --
module x
require (
	"rsc.io/sampler" v1.3.0
	"rsc.io/quote" v1.5.2
)
