go/types, types2: initial support for parameterized type aliases
Permit type parameters on type alias declarations depending on
Go language version.
Implement various version checks such that at most one version
error is reported per type alias declaration.
Add tparams field to Alias type node.
Missing:
- instantiation of alias types
- API additions (requires proposal)
For #46477.
Change-Id: Ica658292bd096d3bceb513027d3353501a6c58e4
Reviewed-on: https://go-review.googlesource.com/c/go/+/566856
Auto-Submit: Robert Griesemer <gri@google.com> Reviewed-by: Robert Griesemer <gri@google.com> Reviewed-by: Robert Findley <rfindley@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>