# Conflicting workspace module replaces can be overridden by a replace in the
# go.work file.

go list -m example.com/dep
stdout 'example.com/dep v1.0.0 => ./dep3'

-- go.work --
use m
use n
replace example.com/dep => ./dep3
-- m/go.mod --
module example.com/m

require example.com/dep v1.0.0
replace example.com/dep => ./dep1
-- m/m.go --
package m

import "example.com/dep"

func F() {
	dep.G()
}
-- n/go.mod --
module example.com/n

require example.com/dep v1.0.0
replace example.com/dep => ./dep2
-- n/n.go --
package n

import "example.com/dep"

func F() {
	dep.G()
}
-- dep1/go.mod --
module example.com/dep
-- dep1/dep.go --
package dep

func G() {
}
-- dep2/go.mod --
module example.com/dep
-- dep2/dep.go --
package dep

func G() {
}
-- dep3/go.mod --
module example.com/dep
-- dep3/dep.go --
package dep

func G() {
}
