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. 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

gopherbot commented Aug 9, 2022

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 join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsFix The path to resolution is known, but the work has not been done.
Projects
Status: Done
Development

No branches or pull requests

3 participants