# Support replace statement in go.work file # Replacement in go.work file, and none in go.mod file. go list -m example.com/dep stdout 'example.com/dep v1.0.0 => ./dep' # Wildcard replacement in go.work file overrides version replacement in go.mod # file. go list -m example.com/other stdout 'example.com/other v1.0.0 => ./other2' -- go.work -- use m replace example.com/dep => ./dep replace example.com/other => ./other2 -- m/go.mod -- module example.com/m require example.com/dep v1.0.0 require example.com/other v1.0.0 replace example.com/other v1.0.0 => ./other -- m/m.go -- package m import "example.com/dep" import "example.com/other" func F() { dep.G() other.H() } -- dep/go.mod -- module example.com/dep -- dep/dep.go -- package dep func G() { } -- other/go.mod -- module example.com/other -- other/dep.go -- package other func G() { } -- other2/go.mod -- module example.com/other -- other2/dep.go -- package other func G() { }