go/internal/typeparams
Robert Findley 0cffec9e30 go/internal/gcimporter: update iimport.go to support type parameters
This CL pulls in the latest changes from go/internal/gcimporter, while
avoiding breaking the build on older go versions. To help maintain
compatibility with older Go versions while minimizing the diff with the
standard library importer, the internal/typeparams package was
significantly expanded.

I decided to use type aliases in the internal/typeparams package on Go
version >= go1.18, and placeholder types on Go version < go1.18. This
reduces the amount of copying needed in the APIs, though it might not be
the best decision if we ever decide to export this package.
Documentation was also updated to be more concise and specific to the Go
version being used.

In order to actually fix the x/tools Trybot for packages using generics
in the standard library, we need to switch from the 'typeparams' build
constraint to the 'go1.18' build constraint. This means if we make any
additional API changes in go/types we'll have to submit them with a
broken x/tools Trybot and then immediately fix the x/tools build.

Change-Id: Ifa0b1c37b89dc549ee295fa3a959f03deda86e56
Reviewed-on: https://go-review.googlesource.com/c/tools/+/349949
Trust: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
2021-09-15 00:13:36 +00:00
..
common.go internal/typeparams: update x/tools for recent typeparams changes 2021-08-03 15:39:08 +00:00
common_test.go internal/typeparams: update x/tools for recent typeparams changes 2021-08-03 15:39:08 +00:00
enabled_go117.go go/internal/gcimporter: update iimport.go to support type parameters 2021-09-15 00:13:36 +00:00
enabled_go118.go go/internal/gcimporter: update iimport.go to support type parameters 2021-09-15 00:13:36 +00:00
typeparams_go117.go go/internal/gcimporter: update iimport.go to support type parameters 2021-09-15 00:13:36 +00:00
typeparams_go118.go go/internal/gcimporter: update iimport.go to support type parameters 2021-09-15 00:13:36 +00:00
typeparams_test.go go/internal/gcimporter: update iimport.go to support type parameters 2021-09-15 00:13:36 +00:00