golang/go

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

Open

#78 342 ouverte le 25 mars 2026

Voir sur GitHub
 (2 commentaires) (0 réactions) (0 assignés)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.

Guide contributeur