| # 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 -d 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 list -m: malformed module path "example.net/bad\+\+": invalid char ''\+''$' |
| |
| # 'go get' accepts package paths with pluses. |
| cp go.mod.orig go.mod |
| go get -d 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() {} |