diff --git a/MODULE.bazel b/MODULE.bazel index ca0bbd37f735..f58644f4e345 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -167,7 +167,7 @@ use_repo( ) go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") -go_sdk.download(version = "1.23.1") +go_sdk.download(version = "1.24rc1") go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps") go_deps.from_file(go_mod = "//go/extractor:go.mod") diff --git a/go/actions/test/action.yml b/go/actions/test/action.yml index 0a4f13fa0efd..80cc3a08d0e2 100644 --- a/go/actions/test/action.yml +++ b/go/actions/test/action.yml @@ -4,7 +4,7 @@ inputs: go-test-version: description: Which Go version to use for running the tests required: false - default: "~1.23.1" + default: "1.24.0-rc.1" run-code-checks: description: Whether to run formatting, code and qhelp generation checks required: false diff --git a/go/extractor/autobuilder/build-environment.go b/go/extractor/autobuilder/build-environment.go index cc3dc62c02dc..e207e5ad0267 100644 --- a/go/extractor/autobuilder/build-environment.go +++ b/go/extractor/autobuilder/build-environment.go @@ -12,7 +12,7 @@ import ( ) var minGoVersion = util.NewSemVer("1.11") -var maxGoVersion = util.NewSemVer("1.23") +var maxGoVersion = util.NewSemVer("1.24") type versionInfo struct { goModVersion util.SemVer // The version of Go found in the go directive in the `go.mod` file. diff --git a/go/extractor/go.mod b/go/extractor/go.mod index af822b77eb95..c52c84138735 100644 --- a/go/extractor/go.mod +++ b/go/extractor/go.mod @@ -1,8 +1,8 @@ module github.com/github/codeql-go/extractor -go 1.23 +go 1.24 -toolchain go1.23.1 +toolchain go1.24rc1 // when updating this, run // bazel run @rules_go//go -- mod tidy diff --git a/go/ql/test/library-tests/semmle/go/Function/TypeParamType.expected b/go/ql/test/library-tests/semmle/go/Function/TypeParamType.expected index c1d09ddb080a..950f3ee308c7 100644 --- a/go/ql/test/library-tests/semmle/go/Function/TypeParamType.expected +++ b/go/ql/test/library-tests/semmle/go/Function/TypeParamType.expected @@ -63,18 +63,61 @@ numberOfTypeParameters | internal/bytealg.HashStrRev | 0 | T | interface { string \| []uint8 } | | internal/bytealg.IndexRabinKarp | 0 | T | interface { string \| []uint8 } | | internal/bytealg.LastIndexRabinKarp | 0 | T | interface { string \| []uint8 } | +| internal/poll.ignoringEINTR2 | 0 | T | interface { } | | internal/runtime/atomic.Pointer.CompareAndSwap | 0 | T | interface { } | | internal/runtime/atomic.Pointer.CompareAndSwapNoWB | 0 | T | interface { } | | internal/runtime/atomic.Pointer.Load | 0 | T | interface { } | | internal/runtime/atomic.Pointer.Store | 0 | T | interface { } | | internal/runtime/atomic.Pointer.StoreNoWB | 0 | T | interface { } | +| internal/sync.HashTrieMap.All | 0 | K | comparable | +| internal/sync.HashTrieMap.All | 1 | V | interface { } | +| internal/sync.HashTrieMap.CompareAndDelete | 0 | K | comparable | +| internal/sync.HashTrieMap.CompareAndDelete | 1 | V | interface { } | +| internal/sync.HashTrieMap.CompareAndSwap | 0 | K | comparable | +| internal/sync.HashTrieMap.CompareAndSwap | 1 | V | interface { } | +| internal/sync.HashTrieMap.Delete | 0 | K | comparable | +| internal/sync.HashTrieMap.Load | 0 | K | comparable | +| internal/sync.HashTrieMap.Load | 1 | V | interface { } | +| internal/sync.HashTrieMap.LoadAndDelete | 0 | K | comparable | +| internal/sync.HashTrieMap.LoadAndDelete | 1 | V | interface { } | +| internal/sync.HashTrieMap.LoadOrStore | 0 | K | comparable | +| internal/sync.HashTrieMap.LoadOrStore | 1 | V | interface { } | +| internal/sync.HashTrieMap.Range | 0 | K | comparable | +| internal/sync.HashTrieMap.Range | 1 | V | interface { } | +| internal/sync.HashTrieMap.Store | 0 | K | comparable | +| internal/sync.HashTrieMap.Store | 1 | V | interface { } | +| internal/sync.HashTrieMap.Swap | 0 | K | comparable | +| internal/sync.HashTrieMap.Swap | 1 | V | interface { } | +| internal/sync.HashTrieMap.find | 0 | K | comparable | +| internal/sync.HashTrieMap.find | 1 | V | interface { } | +| internal/sync.HashTrieMap.iter | 0 | K | comparable | +| internal/sync.HashTrieMap.iter | 1 | V | interface { } | +| internal/sync.entry | 0 | K | comparable | +| internal/sync.entry.compareAndDelete | 0 | K | comparable | +| internal/sync.entry.compareAndDelete | 1 | V | interface { } | +| internal/sync.entry.compareAndSwap | 0 | K | comparable | +| internal/sync.entry.compareAndSwap | 1 | V | interface { } | +| internal/sync.entry.loadAndDelete | 0 | K | comparable | +| internal/sync.entry.loadAndDelete | 1 | V | interface { } | +| internal/sync.entry.lookup | 0 | K | comparable | +| internal/sync.entry.lookup | 1 | V | interface { } | +| internal/sync.entry.lookupWithValue | 0 | K | comparable | +| internal/sync.entry.lookupWithValue | 1 | V | interface { } | +| internal/sync.entry.swap | 0 | K | comparable | +| internal/sync.entry.swap | 1 | V | interface { } | +| internal/sync.newEntryNode | 0 | K | comparable | +| internal/sync.newEntryNode | 1 | V | interface { } | | iter.Pull | 0 | V | interface { } | | iter.Pull2 | 0 | K | interface { } | | iter.Pull2 | 1 | V | interface { } | | iter.Seq | 0 | V | interface { } | | iter.Seq2 | 0 | K | interface { } | | iter.Seq2 | 1 | V | interface { } | +| os.doInRoot | 0 | T | interface { } | +| os.ignoringEINTR2 | 0 | T | interface { } | | reflect.rangeNum | 1 | N | interface { int64 \| uint64 } | +| runtime.AddCleanup | 0 | T | interface { } | +| runtime.AddCleanup | 1 | S | interface { } | | runtime.fandbits | 0 | F | floaty | | runtime.fmax | 0 | F | floaty | | runtime.fmin | 0 | F | floaty | diff --git a/go/ql/test/query-tests/Diagnostics/CONSISTENCY/UnexpectedFrontendErrors.expected b/go/ql/test/query-tests/Diagnostics/CONSISTENCY/UnexpectedFrontendErrors.expected index 19c2ad21db8c..f0e0fb5cdeb3 100644 --- a/go/ql/test/query-tests/Diagnostics/CONSISTENCY/UnexpectedFrontendErrors.expected +++ b/go/ql/test/query-tests/Diagnostics/CONSISTENCY/UnexpectedFrontendErrors.expected @@ -5,4 +5,4 @@ | bad.go:3:5:3:5 | expected 'IDENT', found newline | | bad.go:5:1:5:1 | expected ';', found wnvwun | | badimport.go:6:2:6:2 | invalid import path (invalid character U+007B '{') | -| type.go:11:9:11:9 | cannot use v (variable of type V) as T value in argument to takesT | +| type.go:11:9:11:9 | cannot use v (variable of int type V) as T value in argument to takesT | diff --git a/go/ql/test/query-tests/Diagnostics/ExtractionErrors.expected b/go/ql/test/query-tests/Diagnostics/ExtractionErrors.expected index c5afba4d05dd..9f1c38d984e3 100644 --- a/go/ql/test/query-tests/Diagnostics/ExtractionErrors.expected +++ b/go/ql/test/query-tests/Diagnostics/ExtractionErrors.expected @@ -1,5 +1,5 @@ -| Extraction failed in badimport.go with error invalid import path (invalid character U+007B '{') | 2 | -| Extraction failed in type.go with error cannot use v (variable of type V) as T value in argument to takesT | 2 | +| Extraction failed in query-tests/Diagnostics/badimport.go with error invalid import path (invalid character U+007B '{') | 2 | +| Extraction failed in query-tests/Diagnostics/type.go with error cannot use v (variable of int type V) as T value in argument to takesT | 2 | | Extraction failed with error expected ';', found wnvwun | 2 | | Extraction failed with error expected 'IDENT', found newline | 2 | | Extraction failed with error expected 'package', found avvu | 2 |