• 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
.github Loading commit data...
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...