Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/compile: ICE when a promoted method on an instantiated type implements a type parameter constraint #54348

Closed
mdempsky opened this issue Aug 9, 2022 · 2 comments
Assignees
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.

Comments

@mdempsky
Copy link
Member

mdempsky commented Aug 9, 2022

This program should run successfully: https://go.dev/play/p/bqSPtEGm82w?v=gotip

It worked with Go 1.18 through Go 1.18.3. In Go 1.18.4, it started ICE'ing due to nil pointer dereference in getDictionarySym. It still ICEs in Go 1.18.5 and Go 1.19.

Bisect identifies 93aab18.

Minimized from test case reported by @borzovplus on #54308.

/cc @golang/compiler @cuonglm

@mdempsky mdempsky added the NeedsFix The path to resolution is known, but the work has not been done. label Aug 9, 2022
@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Aug 9, 2022
@cuonglm cuonglm self-assigned this Aug 9, 2022
@gopherbot
Copy link

Change https://go.dev/cl/422274 mentions this issue: cmd/compile: fix ICE when checking implicit dot for method call

@cuonglm
Copy link
Member

cuonglm commented Aug 10, 2022

@mdempsky @randall77 Though we agree that there's no backport for generic to go1.18, I think this can be an exception?

At least, I think it's ok to backport this to 1.19, for 1.18, we can revert 93aab18 instead.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Projects
None yet
Development

No branches or pull requests

3 participants