golang/go

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

Open

Aperta il 25 mar 2026

Vedi su GitHub
 (2 commenti) (0 reazioni) (0 assegnatari)Go (133.883 star) (19.008 fork)batch import
NeedsFixToolSpeedcompiler/runtimehelp wanted

Descrizione

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.

Guida contributor