]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/compile/internal/types2: remove need for instance (struct)
authorRobert Griesemer <gri@golang.org>
Thu, 26 Aug 2021 04:48:21 +0000 (21:48 -0700)
committerRobert Griesemer <gri@golang.org>
Thu, 26 Aug 2021 17:19:04 +0000 (17:19 +0000)
commit166b691b652356074ea346157e8bbc13933380aa
tree182fbd181c57294f93fd878d66f3915f1959e2d7
parentd6bdae33e918f779e9e50c020d32042e569368e2
cmd/compile/internal/types2: remove need for instance (struct)

instance was only used to hold the instantiation position for
lazy instantiation (and encode the fact that we have a lazy
instantiation). Just use a (pointer to a) syntax.Pos instead.

We could use a syntax.Pos (no pointer) and rely on the fact
that we have a known position (or fake position, if need be)
to indicate lazy instantiation. But using a pointer leads to
a smaller Named struct.

Change-Id: I441a839a125f453ad6c501de1ce499b72a2f67a4
Reviewed-on: https://go-review.googlesource.com/c/go/+/345177
Trust: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/types2/instantiate.go
src/cmd/compile/internal/types2/named.go
src/cmd/compile/internal/types2/typestring.go