-
Notifications
You must be signed in to change notification settings - Fork 18.3k
Closed
Labels
FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.compiler/runtimeIssues related to the Go compiler and/or runtime.Issues related to the Go compiler and/or runtime.
Milestone
Description
What version of Go are you using (go version
)?
$ go version go version devel go1.20-3a41094107 Wed Nov 9 06:30:59 2022 +0000 linux/amd64
Does this issue reproduce with the latest release?
Yes. And on tip.
What operating system and processor architecture are you using (go env
)?
go env
Output
$ go env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/home/mero/.cache/go-build" GOENV="/home/mero/.config/go/env" GOEXE="" GOEXPERIMENT="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GOMODCACHE="/home/mero/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/home/mero" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/home/mero/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/home/mero/go/pkg/tool/linux_amd64" GOVCS="" GOVERSION="devel go1.20-3a41094107 Wed Nov 9 06:30:59 2022 +0000" GCCGO="/usr/bin/gccgo" GOAMD64="v1" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="/home/mero/tmp/x/go.mod" GOWORK="" CGO_CFLAGS="-O2 -g" CGO_CPPFLAGS="" CGO_CXXFLAGS="-O2 -g" CGO_FFLAGS="-O2 -g" CGO_LDFLAGS="-O2 -g" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1760935320=/tmp/go-build -gno-record-gcc-switches"
What did you do?
Try to compile this program:
package main
type A[T any] interface {
*T
}
type B[T any] interface {
B[*T]
}
type C[T any, U B[U]] interface {
*T
}
func main() {
}
What did you expect to see?
Something. Probably an error message, I assume this is somehow violating the rules against embedding type parameters or something.
What did you see instead?
The compiler hangs, eating CPU (one core and a bit), obviously in an endless loop of some kind.
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.compiler/runtimeIssues related to the Go compiler and/or runtime.Issues related to the Go compiler and/or runtime.