Go version
go version go1.26.3 linux/amd64
Output of go env in your module/workspace:
AR='ar'
CC='gcc'
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_ENABLED='1'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
CXX='g++'
GCCGO='gccgo'
GO111MODULE=''
GOAMD64='v1'
GOARCH='amd64'
GOAUTH='netrc'
GOBIN=''
GOCACHE='/home/tomteb/.cache/go-build'
GOCACHEPROG=''
GODEBUG=''
GOENV='/home/tomteb/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFIPS140='off'
GOFLAGS=''
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build1211119023=/tmp/go-build -gno-record-gcc-switches'
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMOD='/home/tomteb/[...]/go.mod'
GOMODCACHE='/home/tomteb/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/tomteb/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/local/go'
GOSUMDB='sum.golang.org'
GOTELEMETRY='local'
GOTELEMETRYDIR='/home/tomteb/.config/go/telemetry'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.26.3'
GOWORK=''
PKG_CONFIG='pkg-config'
What did you do?
When trying to print a string ending with a newline using fmt.Println, the analysis marks the newline as redundant.
What did you see happen?
The newlines actually do change the output, making them non-redundant.
What did you expect to see?
Considering that the newlines are not redundant, the analysis should not mark them as such.
While the prefered option should be adding another newline to the string and using fmt.Print rather than fmt.Println, there are definetely scenarios where using fmt.Println can be more convenient, and even if there was no scenario, it would still be incorrect to mark the newlines as redundant, considering that they change the output.
Go version
go version go1.26.3 linux/amd64
Output of
go envin your module/workspace:What did you do?
When trying to print a string ending with a newline using fmt.Println, the analysis marks the newline as redundant.
What did you see happen?
The newlines actually do change the output, making them non-redundant.
What did you expect to see?
Considering that the newlines are not redundant, the analysis should not mark them as such.
While the prefered option should be adding another newline to the string and using fmt.Print rather than fmt.Println, there are definetely scenarios where using fmt.Println can be more convenient, and even if there was no scenario, it would still be incorrect to mark the newlines as redundant, considering that they change the output.