• Robert Griesemer's avatar
    go/types: track local cycles using same mechanism as for global objects · ce2e883a
    Robert Griesemer authored
    For Go 1.11, cycle tracking of global (package-level) objects was changed
    to use a Checker-level object path rather than relying on the explicit
    path parameter that is passed around to some (but not all) type-checker
    functions.
    
    This change now uses the same mechanism for the detection of local
    type cycles (local non-type objects cannot create cycles by definition
    of the spec).
    
    As a result, local alias cycles are now correctly detected as well
    (issue #27106).
    
    The path parameter that is explicitly passed around to some type-checker
    methods is still present and will be removed in a follow-up CL.
    
    Also:
    - removed useCycleMarking flag and respective dead code
    - added a couple more tests
    - improved documentation
    
    Fixes #27106.
    Updates #25773.
    
    Change-Id: I7cbf304bceb43a8d52e6483dcd0fa9ef7e1ea71c
    Reviewed-on: https://go-review.googlesource.com/130455
    Run-TryBot: Robert Griesemer <gri@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
    ce2e883a
Name
Last commit
Last update
..
ast Loading commit data...
build Loading commit data...
constant Loading commit data...
doc Loading commit data...
format Loading commit data...
importer Loading commit data...
internal Loading commit data...
parser Loading commit data...
printer Loading commit data...
scanner Loading commit data...
token Loading commit data...
types Loading commit data...