]> Cypherpunks repositories - gostls13.git/commit
gcimporters: allow reusing empty interfaces on the RHS of type decls
authorRobert Findley <rfindley@google.com>
Tue, 30 Nov 2021 22:48:51 +0000 (17:48 -0500)
committerRobert Findley <rfindley@google.com>
Wed, 1 Dec 2021 19:00:50 +0000 (19:00 +0000)
commit0103fd2b8b3e57ead47a65501eb5ce5f444e0077
tree01c674d0b91816fa618e7006ff6f1ecf5fa38b0f
parent6c4bf8fb8a2216a09d22ae0c87a04b7865f794c8
gcimporters: allow reusing empty interfaces on the RHS of type decls

We guard against caching or reusing interfaces on the RHS of a type
declaration, because for such interfaces the base type is used as the
interface method receiver type. However, we don't need to do this for
empty interfaces. By refining our guard, we can allow importing the
predeclared 'any' type on the RHS of a type declaration.

Update tests to add more coverage for importing generic export data.
Some accomodation had to be made for the unified builder, which does not
yet fully support generics in export data.

Fixes #49888

Change-Id: I51f329de464fc7309f95991b839ab55868c2924f
Reviewed-on: https://go-review.googlesource.com/c/go/+/367851
Trust: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
src/cmd/compile/internal/importer/gcimporter_test.go
src/cmd/compile/internal/importer/iimport.go
src/cmd/compile/internal/importer/testdata/exports.go
src/cmd/compile/internal/importer/testdata/generics.go [new file with mode: 0644]
src/go/internal/gcimporter/gcimporter_test.go
src/go/internal/gcimporter/iimport.go
src/go/internal/gcimporter/testdata/exports.go
src/go/internal/gcimporter/testdata/generics.go [new file with mode: 0644]