-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
Milestone
Description
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:
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.