go.mod, compiler: bump minimum Go version to 1.23

This enables gotypesalias=1 by default, which is needed for
generic type aliases to work correctly in go/types.
This commit is contained in:
Jake Bailey
2026-04-14 10:00:09 -07:00
committed by Ron Evans
parent 020cca8c3c
commit 12d41ba0c1
6 changed files with 17 additions and 3 deletions
+1 -1
View File
@@ -96,7 +96,7 @@ jobs:
# This tests our lowest supported versions of Go and LLVM, to make sure at # This tests our lowest supported versions of Go and LLVM, to make sure at
# least the smoke tests still pass. # least the smoke tests still pass.
docker: docker:
- image: golang:1.22-bullseye - image: golang:1.23-bullseye
steps: steps:
- test-linux: - test-linux:
llvm: "15" llvm: "15"
+1 -1
View File
@@ -540,7 +540,7 @@ func (c *compilerContext) isValidWasmType(typ types.Type, site wasmSite) bool {
} }
for i := 0; i < typ.NumFields(); i++ { for i := 0; i < typ.NumFields(); i++ {
ftyp := typ.Field(i).Type() ftyp := typ.Field(i).Type()
if ftyp.String() == "structs.HostLayout" { if types.Unalias(ftyp).String() == "structs.HostLayout" {
hasHostLayout = true hasHostLayout = true
continue continue
} }
+1 -1
View File
@@ -1,6 +1,6 @@
module github.com/tinygo-org/tinygo module github.com/tinygo-org/tinygo
go 1.22.0 go 1.23
require ( require (
github.com/aykevl/go-wasm v0.0.2-0.20250317121156-42b86c494139 github.com/aykevl/go-wasm v0.0.2-0.20250317121156-42b86c494139
+3
View File
@@ -107,6 +107,9 @@ func TestBuild(t *testing.T) {
if minor >= 23 { if minor >= 23 {
tests = append(tests, "go1.23/") tests = append(tests, "go1.23/")
} }
if minor >= 24 {
tests = append(tests, "typealias.go")
}
if *testTarget != "" { if *testTarget != "" {
// This makes it possible to run one specific test (instead of all), // This makes it possible to run one specific test (instead of all),
+10
View File
@@ -0,0 +1,10 @@
package main
// Generic type alias (requires go 1.24+, or GOEXPERIMENT=aliastypeparams in go 1.23).
type Set[T comparable] = map[T]struct{}
func main() {
s := make(Set[string])
s["hello"] = struct{}{}
println(len(s))
}
+1
View File
@@ -0,0 +1 @@
1