[dev.typeparams] go/types: import the Type API from dev.go2go
Import the Type changes from the dev.go2go branch, as well as a minimal set of related changes to the Checker code so that tests pass. This involved making some decisions about which functionality to import, with some parts of the Type API (for example instance.expand) carved out as they pulled in too many additional changes. Minimal changes were made from the dev.go2go version. Notably: + The aType helper struct is removed. It could have been removed in CL 274852 but was missed. + writeTParamList was cleaned up for the bracketed parameter style. + Some interface iteration functions were simplified. One observation along the way is that, especially with converter methods removed from the Type interface, we should probably avoid storing the Checker on Type instances for lazy evaluation. If a function is only valid during a checking pass, we should make it a method on Checker instead of a method on the Type instance. Rather than do this now, which would make later changes harder to import, I left a couple TODOs to address this later. Change-Id: Ie669224614269874474d87e46c68216cb06b6d0e Reviewed-on: https://go-review.googlesource.com/c/go/+/275441 Reviewed-by:Robert Griesemer <gri@golang.org> Run-TryBot: Robert Findley <rfindley@google.com> TryBot-Result: Go Bot <gobot@golang.org> Trust: Robert Findley <rfindley@google.com>
Loading
Please sign in to comment