# Test of go work sync in a workspace in which some dependency in the build # list of 'b' (but not otherwise needed by `b`, so not seen when lazy loading # occurs) actually is relevant to `a`. # # a -> p 1.0 # b -> q 1.1 -> p 1.1 go work sync cmp a/go.mod a/want_go.mod cmp b/go.mod b/want_go.mod -- go.work -- go 1.18 use ( ./a ./b ) -- a/go.mod -- go 1.18 module example.com/a require ( example.com/p v1.0.0 ) replace ( example.com/p => ../p ) -- a/want_go.mod -- go 1.18 module example.com/a require example.com/p v1.1.0 replace example.com/p => ../p -- a/a.go -- package a import ( "example.com/p" ) func Foo() { p.P() } -- b/go.mod -- go 1.18 module example.com/b require ( example.com/q v1.1.0 ) replace ( example.com/q => ../q ) -- b/want_go.mod -- go 1.18 module example.com/b require ( example.com/q v1.1.0 ) replace ( example.com/q => ../q ) -- b/b.go -- package b import ( "example.com/q" ) func Foo() { q.Q() } -- p/go.mod -- go 1.18 module example.com/p -- p/p.go -- package p func P() {} -- q/go.mod -- go 1.18 module example.com/q require example.com/p v1.1.0 replace example.com/p => ../p -- q/q.go -- package q import example.com/p func Q() { p.P() }