golang/go

cmd/compile: exponential compile-time with nested generic instantiations

Open

#78342 opened on Mar 25, 2026

View on GitHub
 (2 comments) (0 reactions) (0 assignees)Go (133,883 stars) (19,008 forks)batch import
NeedsFixToolSpeedcompiler/runtimehelp wanted

Description

Go version

go 1.26.1 / tip

Output of go env in your module/workspace:

GOARCH=arm64

What did you do?

case 1:

package p

type T[P any] struct { _,_,_,_,_,_,_,_ P }

type U T[T[T[T[T[T[T[T[T[T[int]]]]]]]]]]

case 2:

package p

type T[P any] struct { _,_,_,_,_,_,_,_ P }

type U T[T[T[T[T[T[T[T[T[T[T[int]]]]]]]]]]]

case 3:

package p

type T[P any] struct { _,_,_,_,_,_,_,_ P }

type U T[T[T[T[T[T[T[T[T[T[T[T[int]]]]]]]]]]]]

Run go build on the above and measure the time.

What did you see happen?

Very long compile time.

What did you expect to see?

Fast compilation.

Contributor guide