]> Cypherpunks repositories - gostls13.git/commit
gc: undo most of 'fix infinite recursion for embedded interfaces'
authorRuss Cox <rsc@golang.org>
Fri, 20 Jan 2012 22:14:09 +0000 (17:14 -0500)
committerRuss Cox <rsc@golang.org>
Fri, 20 Jan 2012 22:14:09 +0000 (17:14 -0500)
commit290e68b9833da723cbe9138856f7d6d494e5b07b
tree346ae37981458a1a1eb1f2103f4b7898af2bf3ba
parent696bf79350b5cb0e977def1fc98ba6d6c8bd829f
gc: undo most of 'fix infinite recursion for embedded interfaces'

Preserve test.

changeset:   11593:f1deaf35e1d1
user:        Luuk van Dijk <lvd@golang.org>
date:        Tue Jan 17 10:00:57 2012 +0100
summary:     gc: fix infinite recursion for embedded interfaces

This is causing 'interface type loop' errors during compilation
of a complex program.  I don't understand what's happening
well enough to boil it down to a simple test case, but undoing
this change fixes the problem.

The change being undone is fixing a corner case (uses of
pointer to interface in an interface definition) that basically
only comes up in erroneous Go programs.  Let's not try to
fix this again until after Go 1.

Unfixes issue 1909.

TBR=lvd
CC=golang-dev
https://golang.org/cl/5555063
src/cmd/gc/dcl.c
src/cmd/gc/export.c
src/cmd/gc/fmt.c
test/bugs/bug395.go [moved from test/fixedbugs/bug395.go with 63% similarity]
test/golden.out