gojp / goreportcard

A report card for your Go application
https://goreportcard.com
Apache License 2.0
1.99k stars 253 forks source link

Go1.18 Support #381

Open lmittmann opened 2 years ago

lmittmann commented 2 years ago

Many tools are not able to handle Go1.18 yet. Upgrading gofmt should be fairly easy, but golint or ineffassign could be problematic.

peczenyj commented 2 years ago

BTW https://github.com/gojp/goreportcard/issues/378#issuecomment-1073120006

spekary commented 2 years ago

For reference, a project that make extensive use of 1.18 generics:

https://goreportcard.com/report/github.com/goradd/maps

gofmt chokes on it. golint, not too bad. Everything else is fine.

phanirithvij commented 2 years ago

Maybe switch or conditionally switch to staticcheck? https://github.com/golang/go/issues/38968#issuecomment-631622473

There's also golangci-lint which has support for many linters including staticcheck.

shawnps commented 2 years ago

Hello, GRC is now running on Go 1.18, and the golint check has been removed.

spekary commented 2 years ago

golint has been replaced with go vet, which is not nearly as robust as golint. The golint repo recommends Staticcheck as a replacement. Why not use that?

shawnps commented 2 years ago

@spekary just to clarify we were already running go vet, it didn't replace golint.

We can certainly take a look at running staticcheck.

spekary commented 2 years ago

Actually, a better system might be to use https://golangci-lint.run.

It might make go report card more flexible. It already includes running many of the checks here on go report card. It also makes it easy to turn particular linters on and off so that goreportcard can be more easily modified in the future.

Over at awesome-go we have been using goreportcard as one of the validations of code quality. However, now that goreportcard no longer uses go lint, its not as useful. Hopefully you guys can find another linter to work with?