You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.
This is a placeholder for planning purposes, to be exchanged for a proper proposal at a future date.
As discussed in #60994, there are some missing go/types APIs that are currently papered over with the x/exp/typeparams package.
In particular, we should propose a go/types API that serves the purpose of the NormalTerms function -- some way to traverse a normalized representation of the terms of an interface types.
We could expose an equivalent API to NormalTerms, or do something simpler. Let's decide early in the go1.22 cycle.
Might be helpful to go over what x/tools/go/ssa uses. The heaviest usage of NormalTerms is indirect via x/tools/internal/typeparams.CoreType. If we only release NormalTerms, CoreType will be the performance sensitive path. Other uses of NormalTerm go through the function x/tools/go/ssa.typeSetOf. The use of this is somewhat varied. FWIW all uses only pay attention to the underlying types in the list.
This is a placeholder for planning purposes, to be exchanged for a proper proposal at a future date.
As discussed in #60994, there are some missing
go/types
APIs that are currently papered over with thex/exp/typeparams
package.In particular, we should propose a
go/types
API that serves the purpose of theNormalTerms
function -- some way to traverse a normalized representation of the terms of an interface types.We could expose an equivalent API to
NormalTerms
, or do something simpler. Let's decide early in the go1.22 cycle.CC @griesemer @adonovan @timothy-king @mdempsky
The text was updated successfully, but these errors were encountered: