You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As when Go 1.20 support was under development (see GH-789), the latest stable version of golangci-lint does not support the upcoming Go 1.23rc1 pre-release image.
Log output from a recent CI run:
golangci-lint has version 1.59.1 built with go1.22.3 from 1a55854a on 2024-06-09T18:08:33Z
internal/certs/validation-results.go:69:17: undefined: nagios (typecheck)
ServiceState() nagios.ServiceState
^
internal/certs/certs.go:255:38: undefined: nagios (typecheck)
func ServiceState(val ServiceStater) nagios.ServiceState {
^
internal/certs/validation-expiration.go:382:54: undefined: nagios (typecheck)
func (evr ExpirationValidationResult) ServiceState() nagios.ServiceState {
^
../../../usr/local/go/src/slices/iter.go:51:17: cannot range over seq (variable of type iter.Seq[E]) (typecheck)
for v := range seq {
^
../../../usr/local/go/src/os/stat_linux.go:47:57: not enough arguments in call to time.Unix
have (unknown type)
want (int64, int64) (typecheck)
return time.Unix(fi.Sys().(*syscall.Stat_t).Atim.Unix())
^
../../../usr/local/go/src/math/big/intconv.go:220:21: r.ReadRune undefined (type byteReader has no field or method ReadRune) (typecheck)
ch, size, err := r.ReadRune()
^
../../../usr/local/go/src/math/big/intconv.go:228:11: r.UnreadRune undefined (type byteReader has no field or method UnreadRune) (typecheck)
return r.UnreadRune()
^
../../../usr/local/go/src/crypto/x509/pkcs8.go:105:7: previous case (typecheck)
case *rsa.PrivateKey:
^
../../../usr/local/go/src/crypto/x509/x509.go:86:7: previous case (typecheck)
case *rsa.PublicKey:
^
../../../usr/local/go/src/crypto/x509/x509.go:932:7: previous case (typecheck)
case *rsa.PublicKey:
^
../../../usr/local/go/src/regexp/exec.go:432:48: inst.Arg undefined (type *onePassInst has no field or method Arg) (typecheck)
if pos == 0 && flag.match(syntax.EmptyOp(inst.Arg)) &&
^
../../../usr/local/go/src/regexp/exec.go:446:17: inst.Out undefined (type *onePassInst has no field or method Out) (typecheck)
pc = int(inst.Out)
^
../../../usr/local/go/src/regexp/exec.go:447:15: inst.Op undefined (type *onePassInst has no field or method Op) (typecheck)
switch inst.Op {
^
../../../usr/local/go/src/regexp/exec.go:458:13: inst.MatchRune undefined (type *onePassInst has no field or method MatchRune) (typecheck)
if !inst.MatchRune(r) {
^
../../../usr/local/go/src/regexp/exec.go:462:17: inst.Rune undefined (type *onePassInst has no field or method Rune) (typecheck)
if r != inst.Rune[0] {
^
../../../usr/local/go/src/regexp/exec.go:480:39: inst.Arg undefined (type *onePassInst has no field or method Arg) (typecheck)
if !flag.match(syntax.EmptyOp(inst.Arg)) {
^
../../../usr/local/go/src/regexp/exec.go:485:16: inst.Arg undefined (type *onePassInst has no field or method Arg) (typecheck)
if int(inst.Arg) < len(m.matchcap) {
^
../../../usr/local/go/src/regexp/onepass.go:76:12: i.MatchRunePos undefined (type *onePassInst has no field or method MatchRunePos) (typecheck)
next := i.MatchRunePos(r)
^
../../../usr/local/go/src/regexp/onepass.go:80:7: i.Op undefined (type *onePassInst has no field or method Op) (typecheck)
if i.Op == syntax.InstAltMatch {
^
../../../usr/local/go/src/regexp/onepass.go:81:12: i.Out undefined (type *onePassInst has no field or method Out) (typecheck)
return i.Out
^
../../../usr/local/go/src/regexp/onepass.go:238:21: p.Inst[pc].Op undefined (type onePassInst has no field or method Op) (typecheck)
switch p.Inst[pc].Op {
^
../../../usr/local/go/src/regexp/onepass.go:243:29: p.Inst[pc].Out undefined (type onePassInst has no field or method Out) (typecheck)
p_A_Other := &p.Inst[pc].Out
^
../../../usr/local/go/src/regexp/onepass.go:244:27: p.Inst[pc].Arg undefined (type onePassInst has no field or method Arg) (typecheck)
p_A_Alt := &p.Inst[pc].Arg
^
../../../usr/local/go/src/regexp/onepass.go:247:17: instAlt.Op undefined (type onePassInst has no field or method Op) (typecheck)
if !(instAlt.Op == syntax.InstAlt || instAlt.Op == syntax.InstAltMatch) {
^
../../../usr/local/go/src/regexp/onepass.go:250:18: instAlt.Op undefined (type onePassInst has no field or method Op) (typecheck)
if !(instAlt.Op == syntax.InstAlt || instAlt.Op == syntax.InstAltMatch) {
^
../../../usr/local/go/src/regexp/onepass.go:256:17: instOther.Op undefined (type onePassInst has no field or method Op) (typecheck)
if instOther.Op == syntax.InstAlt || instOther.Op == syntax.InstAltMatch {
^
../../../usr/local/go/src/regexp/onepass.go:262:33: p.Inst[*p_A_Alt].Out undefined (type onePassInst has no field or method Out) (typecheck)
p_B_Alt := &p.Inst[*p_A_Alt].Out
^
../../../usr/local/go/src/regexp/onepass.go:263:35: p.Inst[*p_A_Alt].Arg undefined (type onePassInst has no field or method Arg) (typecheck)
p_B_Other := &p.Inst[*p_A_Alt].Arg
^
../../../usr/local/go/src/regexp/onepass.go:265:15: instAlt.Out undefined (type onePassInst has no field or method Out) (typecheck)
if instAlt.Out == uint32(pc) {
^
../../../usr/local/go/src/regexp/onepass.go:267:22: instAlt.Arg undefined (type onePassInst has no field or method Arg) (typecheck)
} else if instAlt.Arg == uint32(pc) {
^
../../../usr/local/go/src/regexp/onepass.go:315:15: inst.Op undefined (type *onePassInst has no field or method Op) (typecheck)
switch inst.Op {
^
../../../usr/local/go/src/regexp/onepass.go:317:20: inst.Out undefined (type *onePassInst has no field or method Out) (typecheck)
ok = check(inst.Out, m) && check(inst.Arg, m)
^
../../../usr/local/go/src/regexp/onepass.go:319:23: inst.Out undefined (type *onePassInst has no field or method Out) (typecheck)
matchOut := m[inst.Out]
^
../../../usr/local/go/src/regexp/onepass.go:332:10: inst.Op undefined (type *onePassInst has no field or method Op) (typecheck)
inst.Op = syntax.InstAltMatch
^
../../../usr/local/go/src/regexp/onepass.go:367:16: inst.Rune undefined (type *onePassInst has no field or method Rune) (typecheck)
if len(inst.Rune) == 0 {
^
../../../usr/local/go/src/regexp/onepass.go:373:16: inst.Rune undefined (type *onePassInst has no field or method Rune) (typecheck)
if len(inst.Rune) == 1 && syntax.Flags(inst.Arg)&syntax.FoldCase != 0 {
^
../../../usr/local/go/src/regexp/onepass.go:449:14: p.Inst[i].Rune undefined (type onePassInst has no field or method Rune) (typecheck)
p.Inst[i].Rune = onePassRunes[i]
^
../../../usr/local/go/src/crypto/tls/tls.go:15:2: "bytes" imported and not used (typecheck)
"bytes"
^
The golangci-lint project is working to add complete Go 1.23 support. Until then, what support is available can be found in the ldez:feat/go1.23 branch.
- v1.59.1 for stable, oldstable images
- feat/go1.23 dev branch for unstable image
Other minor formatting/language tweaks for linter tables.
refs GH-1590
Overview
As when Go 1.20 support was under development (see GH-789), the latest stable version of golangci-lint does not support the upcoming Go 1.23rc1 pre-release image.
Log output from a recent CI run:
The golangci-lint project is working to add complete Go 1.23 support. Until then, what support is available can be found in the
ldez:feat/go1.23
branch.References
golangci-lint
unusable within Go 1.20 pre-release images #789The text was updated successfully, but these errors were encountered: