aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/noder
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2021-09-08 13:30:36 -0700
committerRobert Griesemer <gri@golang.org>2021-09-08 22:41:16 +0000
commit30e9bfbcefb9492d66bd56ea7df6d6426ae8a711 (patch)
tree1a0f2f3d18389b3f2e25dd2d6b5dfc01ee974736 /src/cmd/compile/internal/noder
parent0406d3a8e5301bd5fd697018e6e8fbb9c75eeb42 (diff)
downloadgo-30e9bfbcefb9492d66bd56ea7df6d6426ae8a711.tar.xz
cmd/compile/internal/types2: implement deduplication of instances using the Environment
This is a port of CL 344390 with adjustments to names to make it work for types2. Change-Id: I05c33d9858f973adfbf48d8a1faaf377280f6985 Reviewed-on: https://go-review.googlesource.com/c/go/+/348572 Trust: Robert Griesemer <gri@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
Diffstat (limited to 'src/cmd/compile/internal/noder')
-rw-r--r--src/cmd/compile/internal/noder/reader2.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/noder/reader2.go b/src/cmd/compile/internal/noder/reader2.go
index 296d84289c..6c0d9c8c9d 100644
--- a/src/cmd/compile/internal/noder/reader2.go
+++ b/src/cmd/compile/internal/noder/reader2.go
@@ -233,7 +233,9 @@ func (r *reader2) doTyp() (res types2.Type) {
obj, targs := r.obj()
name := obj.(*types2.TypeName)
if len(targs) != 0 {
- t, _ := types2.Instantiate(types2.NewEnvironment(r.p.check), name.Type(), targs, false)
+ // TODO(mdempsky) should use a single shared environment here
+ // (before, this used a shared checker)
+ t, _ := types2.Instantiate(types2.NewEnvironment(), name.Type(), targs, false)
return t
}
return name.Type()