-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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: internal compiler error: not lowered: v22, StructMake0 STRUCT #48049
Comments
This appears to work with |
I am curious, is GOEXPERIMENT=unified planned for 1.18? |
@scott-cotton Let's not speculate on implementation approach and schedule. But in the interest of the best possible user experience it seems reasonable (to me) to select the most stable and feature-complete implementation approach when the time comes, whichever that is. Thanks. |
@randall77 Do you want to take a look. I don't immediately know why the lowering is not happening properly. If you add //go:noinline in front of method "mr fooer2[T]) Foo(p T)", then it seems easier to debug, since then the error occurs on that function (the instantiation 'fooer2[.shape.uint8].Foo'), rather than on a wrapper (which inlines that method) The problem seems to be with the STRUCTLIT in that function - somehow the final lowering is not happening. It could possibly be related to the fact that the type of the STRUCTLIT is a shape type (e.g. fooer1[.shape.uint8] ), but I haven't look far enough into the SSA code. |
@randall77 @danscales While investigating this, I notice that:
produce
Unified IR can properly show:
|
There is a missing
Implicitly converts the concrete type on the RHS to an interface type on the LHS. |
Change https://golang.org/cl/347914 mentions this issue: |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
yes
What did you do?
Compiled this code:
I see the following panic:
@griesemer @ianlancetaylor
The text was updated successfully, but these errors were encountered: