# https://golang.org/issue/44776 # The '+' character should be disallowed in module paths, but allowed in package # paths within valid modules. # 'go list' accepts package paths with pluses. cp go.mod.orig go.mod go get example.net/cmd go list example.net/cmd/x++ # 'go list -m' rejects module paths with pluses. ! go list -versions -m 'example.net/bad++' stderr '^go: malformed module path "example.net/bad\+\+": invalid char ''\+''$' # 'go get' accepts package paths with pluses. cp go.mod.orig go.mod go get example.net/cmd/x++ go list -m example.net/cmd stdout '^example.net/cmd v0.0.0-00010101000000-000000000000 => ./cmd$' -- go.mod.orig -- module example.com/m go 1.16 replace ( example.net/cmd => ./cmd ) -- cmd/go.mod -- module example.net/cmd go 1.16 -- cmd/x++/main.go -- package main func main() {}