- 
 
- 
  Notifications
 You must be signed in to change notification settings 
- Fork 1.5k
Open
Assignees
@fho 
Description
Welcome
- Yes, I'm using a binary release within 2 latest major releases. Only such installations are supported.
- Yes, I've searched similar issues on GitHub and didn't find any.
- Yes, I've included all information below (version, config, etc).
- Yes, I've tried with the standalone linter if available. (https://golangci-lint.run/usage/linters/)
Description of the problem
We have staticcheck and nonolint enabled.
Sometimes in our CI builds golangci-lint reports a false warnings from nonolint about unused nolint:staticcheck comments.
All warnings that I checked are wrong, the //nolint:staticcheck directives always silence existing deprecation warnings from staticcheck.
I was not able to reproduce this issue.
In CI we reuse the golangci-lint and go cache when running checks on different branches.
It can happen that the same cache was used previously with older go and/or golangci-lint versions.
I believe #1940 (comment) refers to the same issue.
Version of golangci-lint
$ golangci-lint --version golangci-lint has version 1.49.0 built from cc2d97f3 on 2022年08月24日T10:24:37Z
Configuration file
$ cat .golangci.yml run: concurrency: 2 deadline: 5m linters: disable-all: true enable: - depguard - errcheck - exportloopref - goimports - goprintffuncname - ineffassign - misspell - nolintlint - revive - rowserrcheck - staticcheck - typecheck - unconvert - unused - vet issues: exclude-use-default: false
Go environment
$ go version && go env [/src/go/code/orders]$ go version && go env go version go1.19.1 linux/amd64 GO111MODULE="" GOARCH="amd64" GOBIN="/usr/local/bin" GOCACHE="/var/cache/go-build" GOENV="/tmp/.config/go/env" GOEXE="" GOEXPERIMENT="" GOFLAGS="-tags=timetzdata -trimpath" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GOMODCACHE="/var/cache/go-modcache" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/tmp/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/opt/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/opt/go/pkg/tool/linux_amd64" GOVCS="" GOVERSION="go1.19.1" GCCGO="gccgo" GOAMD64="v1" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="0" GOMOD="/src/go/go.mod" GOWORK="" 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 -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1328424340=/tmp/go-build -gno-record-gcc-switches"
Verbose output of running
N/A
Code example or link to a public repository
Example case, output from golangci-lint:
[..]/itemdetails.go:36:32: directive `//nolint:staticcheck // Description field is deprecated` is unused for linter "staticcheck" (nolintlint)
		return item.Description, nil //nolint:staticcheck // Description field is deprecated
The referenced Description field has a deprecation comment set:
// Deprecated: Do not use. Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`