• Russ Cox's avatar
    [release-branch.go1] cmd/gc: fix type checking loop · 0d5061ac
    Russ Cox authored
    ««« 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
    
    »»»
    0d5061ac
bug443.go 386 Bytes