Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/tools/gopls: no diagnostics where go vet reports an error #42745

Closed
myitcv opened this issue Nov 20, 2020 · 2 comments
Closed

x/tools/gopls: no diagnostics where go vet reports an error #42745

myitcv opened this issue Nov 20, 2020 · 2 comments

Comments

@myitcv
Copy link
Member

@myitcv myitcv commented Nov 20, 2020

What version of Go are you using (go version)?

$ go version
go version devel +869e2957b9 Mon Nov 16 22:24:14 2020 +0000 linux/amd64
$ go list -m golang.org/x/tools
golang.org/x/tools v0.0.0-20201118030313-598b068a9102
$ go list -m golang.org/x/tools/gopls
golang.org/x/tools/gopls v0.0.0-20201118030313-598b068a9102

Does this issue reproduce with the latest release?

Yes

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/myitcv/.cache/go-build"
GOENV="/home/myitcv/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/myitcv/gostuff/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/myitcv/gostuff"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/myitcv/gos"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/myitcv/gos/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="devel +869e2957b9 Mon Nov 16 22:24:14 2020 +0000"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/myitcv/.vim/plugged/govim/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build720948317=/tmp/go-build -gno-record-gcc-switches"

What did you do?

Consider:

-- go.mod --
module mod.com

go 1.16

require github.com/rogpeppe/go-internal v1.6.2
-- main.go --
package main

import "github.com/rogpeppe/go-internal/testscript"

func main() {
	var ts *testscript.TestScript
	ts.Fatalf("this is a test %s")
}
  • Open main.go with a gopls connected editor
  • Notice there are no diagnostics
  • Run go vet from the command line
  • Notice you get:
# mod.com
./main.go:7:2: Fatalf format %s reads arg #1, but call has 0 args

What did you expect to see?

A diagnostic in gopls

What did you see instead?

As above

Log file: bad.log


cc @stamblerre

FYI @leitzler

@gopherbot gopherbot added the Tools label Nov 20, 2020
@gopherbot gopherbot added this to the Unreleased milestone Nov 20, 2020
@stamblerre
Copy link
Contributor

@stamblerre stamblerre commented Nov 20, 2020

This is caused by the fact that we type-check dependencies in "exported" mode, so the facts from the testscript package are not produced.

@stamblerre stamblerre closed this Nov 20, 2020
@stamblerre
Copy link
Contributor

@stamblerre stamblerre commented Nov 20, 2020

Duplicate of #38278

@stamblerre stamblerre marked this as a duplicate of #38278 Nov 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.