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: enable test/fixedbugs/bug398.go again #15596

Closed
griesemer opened this issue May 7, 2016 · 3 comments
Closed

cmd/compile: enable test/fixedbugs/bug398.go again #15596

griesemer opened this issue May 7, 2016 · 3 comments
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@griesemer
Copy link
Contributor

The new export format can handle arbitrary cycles. However, to match the existing compiler infrastructure, tracking of arbitrary cycles is disabled for now (bexport.go: trackAllTypes = false). As a consequence, some cycles are not recognized.

test/fixedbugs/bug398.go crashes if the interfaces are exported and the new export format is used with trackAllTypes disabled. Once we track all types again, this test case can export the cyclic interfaces again.

Note that the existing exporter cannot properly export these interfaces either. But it recognizes this case and doesn't crash. But the export data is invalid and cannot be imported.

@griesemer griesemer self-assigned this May 7, 2016
@griesemer griesemer modified the milestones: Go1.8, Go1.8Early May 7, 2016
@griesemer
Copy link
Contributor Author

Fixing this will require possibly significant changes to the existing type checker in the compiler. Unlikely that we will get to this for 1.8.

@griesemer griesemer modified the milestones: Go1.8Maybe, Go1.8Early Oct 6, 2016
@quentinmit quentinmit added the NeedsFix The path to resolution is known, but the work has not been done. label Oct 10, 2016
@rsc rsc modified the milestones: Go1.9, Go1.8Maybe Oct 20, 2016
@josharian
Copy link
Contributor

@griesemer I think this might be fixed. bug398 shows no signs of being disabled now, and switching to exported interfaces doesn't appear to cause crashes. Can you confirm? And if desired, send a CL for 1.9 to switch it to use exported interfaces?

@gopherbot
Copy link

CL https://golang.org/cl/43622 mentions this issue.

@golang golang locked and limited conversation to collaborators May 18, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Projects
None yet
Development

No branches or pull requests

5 participants