This test checks that gopls works with modules that aren't included in the
workspace file.

-- go.work --
go 1.20

use (
	./a
	./b
)

-- a/go.mod --
module golang.org/lsptests/a

go 1.18

-- a/a.go --
package a

import (
	"fmt"
	"golang.org/lsptests/a/lib"
)

func _() {
	fmt.Println(lib.Msg) //@def("Msg", aMsg)
	fmt.Println(undef) //@diag("undef", re"undefined|undeclared")
}

-- a/lib/lib.go --
package lib

const Msg = "hi" //@loc(aMsg, "Msg")

-- b/go.mod --
module golang.org/lsptests/b

go 1.18

-- b/b.go --
package b

import (
	"fmt"
	"golang.org/lsptests/b/lib"
)

func main() {
	fmt.Println(lib.Msg) //@def("Msg", bMsg)
	fmt.Println(undef) //@diag("undef", re"undefined|undeclared")
}

-- b/lib/lib.go --
package lib

const Msg = "hi" //@loc(bMsg, "Msg")

-- c/go.mod --
module golang.org/lsptests/c

go 1.18

-- c/c.go --
package c

import (
	"fmt"
	"golang.org/lsptests/c/lib"
)

func main() {
	fmt.Println(lib.Msg) //@def("Msg", cMsg)
	fmt.Println(undef) //@diag("undef", re"undefined|undeclared")
}

-- c/lib/lib.go --
package lib

const Msg = "hi" //@loc(cMsg, "Msg")
