[release-branch.go1] cmd/gc: fix type checking loop
««« backport
e69400ace361
cmd/gc: fix type checking loop
CL
4313064 fixed its test case but did not address a
general enough problem:
type T1 struct { F *T2 }
type T2 T1
type T3 T2
could still end up copying the definition of T1 for T2
before T1 was done being evaluated, or T3 before T2
was done.
In order to propagate the updates correctly,
record a copy of an incomplete type for re-execution
once the type is completed. Roll back CL
4313064.
Fixes #3709.
R=ken2
CC=golang-dev, lstoakes
https://golang.org/cl/
6301059
»»»