diff options
author | Robert Griesemer <gri@golang.org> | 2021-04-13 16:33:42 -0700 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2021-04-14 00:25:33 +0000 |
commit | 8dcc071063c0a9f020f0aafd51b7e0a17f0a0746 (patch) | |
tree | aaf215154c813df7bfaf5f08846b020cf0858515 /src/cmd/compile/internal/types2/check.go | |
parent | 34620364cb2ea52e0ebf400a9cda91f86cb38a25 (diff) | |
download | go-8dcc071063c0a9f020f0aafd51b7e0a17f0a0746.tar.gz go-8dcc071063c0a9f020f0aafd51b7e0a17f0a0746.zip |
cmd/compile/internal/types2: use a global atomic counter for type parameter ids
This avoids a dependency on a *Checker when we create type parameters
outside the type checker proper, e.g. in an importer. There may be
better solutions but this does the trick for now.
Change-Id: Icf22c934970cb04c88c2729555ae6a79ef5a2245
Reviewed-on: https://go-review.googlesource.com/c/go/+/309830
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Diffstat (limited to 'src/cmd/compile/internal/types2/check.go')
-rw-r--r-- | src/cmd/compile/internal/types2/check.go | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/types2/check.go b/src/cmd/compile/internal/types2/check.go index 7703d98fa6..66637459e7 100644 --- a/src/cmd/compile/internal/types2/check.go +++ b/src/cmd/compile/internal/types2/check.go @@ -83,7 +83,6 @@ type Checker struct { pkg *Package *Info version version // accepted language version - nextId uint64 // unique Id for type parameters (first valid Id is 1) objMap map[Object]*declInfo // maps package-level objects and (non-interface) methods to declaration info impMap map[importKey]*Package // maps (import path, source directory) to (complete or fake) package posMap map[*Interface][]syntax.Pos // maps interface types to lists of embedded interface positions @@ -178,7 +177,6 @@ func NewChecker(conf *Config, pkg *Package, info *Info) *Checker { pkg: pkg, Info: info, version: version, - nextId: 1, objMap: make(map[Object]*declInfo), impMap: make(map[importKey]*Package), posMap: make(map[*Interface][]syntax.Pos), |