type go/types.Tuple
80 uses
go/types (current package)
badlinkname.go#L20: func badlinkname_Checker_infer(*Checker, positioner, []*TypeParam, []Type, *Tuple, []*operand, bool, *error_) []Type
builtins.go#L1110: var result *Tuple
call.go#L113: targs = check.infer(atPos(pos), tparams, targs, params2.(*Tuple), args, reverse, err)
call.go#L410: if t, ok := x.typ.(*Tuple); ok && x.mode != invalid {
call.go#L560: sigParams = tmp.(*Tuple)
call.go#L633: sigParams = check.subst(call.Pos(), sigParams, makeSubstMap(tparams[:n], targs[:n]), nil, check.context()).(*Tuple)
expr.go#L1298: if t, ok := x.typ.(*Tuple); ok && x.mode != invalid {
expr.go#L1373: if t, ok := x.typ.(*Tuple); ok {
infer.go#L35: func (check *Checker) infer(posn positioner, tparams []*TypeParam, targs []Type, params *Tuple, args []*operand, reverse bool, err *error_) (inferred []Type) {
infer.go#L111: params = check.subst(nopos, params, smap, nil, check.context()).(*Tuple)
infer.go#L590: case *Tuple:
iter.go#L99: func (t *Tuple) Variables() iter.Seq[*Var] {
mono.go#L251: tuple := func(tup *Tuple) {
operand.go#L255: case *Tuple:
predicates.go#L314: case *Tuple:
predicates.go#L317: if y, ok := y.(*Tuple); ok {
predicates.go#L375: yparams = check.subst(nopos, y.params, smap, nil, ctxt).(*Tuple)
predicates.go#L376: yresults = check.subst(nopos, y.results, smap, nil, ctxt).(*Tuple)
recording.go#L27: typ = (*Tuple)(nil)
signature.go#L30: params *Tuple // (incoming) parameters from left to right; or nil
signature.go#L31: results *Tuple // (outgoing) results from left to right; or nil
signature.go#L49: func NewSignature(recv *Var, params, results *Tuple, variadic bool) *Signature {
signature.go#L68: func NewSignatureType(recv *Var, recvTypeParams, typeParams []*TypeParam, params, results *Tuple, variadic bool) *Signature {
signature.go#L141: func (s *Signature) Params() *Tuple { return s.params }
signature.go#L144: func (s *Signature) Results() *Tuple { return s.results }
subst.go#L148: case *Tuple:
subst.go#L305: func (subst *subster) tuple(t *Tuple) *Tuple {
subst.go#L308: return &Tuple{vars: vars}
tuple.go#L13: type Tuple struct {
tuple.go#L18: func NewTuple(x ...*Var) *Tuple {
tuple.go#L20: return &Tuple{vars: x}
tuple.go#L26: func (t *Tuple) Len() int {
tuple.go#L34: func (t *Tuple) At(i int) *Var { return t.vars[i] }
tuple.go#L36: func (t *Tuple) Underlying() Type { return t }
tuple.go#L37: func (t *Tuple) String() string { return TypeString(t, nil) }
typestring.go#L191: case *Tuple:
typestring.go#L441: func (w *typeWriter) tuple(tup *Tuple, variadic bool) {
unify.go#L630: case *Tuple:
unify.go#L633: if y, ok := y.(*Tuple); ok {
go.pact.im/x/plumb/internal/gotypes
cmp.go#L75: case *types.Tuple:
cmp.go#L76: return cmpTuple(a, b.(*types.Tuple))
cmp.go#L174: case *types.Tuple:
cmp.go#L201: func cmpTuple(a, b *types.Tuple) int {
gotypes.go#L88: func ListKey(ts []types.Type) *types.Tuple {
subst.go#L112: func (s *subster) substTuple(tup *types.Tuple) *types.Tuple {
unify.go#L100: func unifyTuple(p, c *types.Tuple, params map[*types.TypeParam]bool, bind map[*types.TypeParam]types.Type) bool {
walk.go#L91: func walkTuple(tup *types.Tuple, seen *Set[types.Type], visit func(*types.TypeName) bool) {
walk.go#L186: func tupleContains(tup *types.Tuple, seen *Set[types.Type], pred func(types.Type) bool) bool {
go.pact.im/x/plumb/internal/solve
joint.go#L170: m = new(gotypes.Set[*types.Tuple])
joint.go#L183: func jointBindKey(p *discover.Provider, bind map[*types.TypeParam]types.Type) *types.Tuple {
revision.go#L115: m = new(gotypes.Set[*types.Tuple])
solve.go#L167: done map[*discover.Provider]*gotypes.Set[*types.Tuple] // provider → set of instantiated type-arg lists (keyed by ListKey)
solve.go#L168: jointDone map[*discover.Provider]*gotypes.Set[*types.Tuple] // provider → set of joint-cluster pinnings (keyed by jointBindKey)
solve.go#L169: nearMissDone map[*discover.Provider]*gotypes.Set[*types.Tuple] // provider → set of bindings that failed to instantiate (constraint near-miss)
solve.go#L185: refusedUnions map[*discover.Provider]*gotypes.Set[*types.Tuple]
solve.go#L215: refused := map[*discover.Provider]*gotypes.Set[*types.Tuple]{}
solve.go#L224: done: map[*discover.Provider]*gotypes.Set[*types.Tuple]{},
solve.go#L225: jointDone: map[*discover.Provider]*gotypes.Set[*types.Tuple]{},
solve.go#L226: nearMissDone: map[*discover.Provider]*gotypes.Set[*types.Tuple]{},
solve.go#L586: m = new(gotypes.Set[*types.Tuple])
solve.go#L604: m = new(gotypes.Set[*types.Tuple])
golang.org/x/exp/apidiff
apidiff.go#L330: dename := func(p *types.Tuple) *types.Tuple {
correspondence.go#L71: case *types.Tuple:
correspondence.go#L72: if new, ok := new.(*types.Tuple); ok {
golang.org/x/tools/go/types/objectpath
objectpath.go#L485: case *types.Tuple:
objectpath.go#L883: tuple, ok := t.(*types.Tuple)
golang.org/x/tools/go/types/typeutil
map.go#L315: case *types.Tuple:
map.go#L322: func (h hasher) hashTuple(tuple *types.Tuple) uint32 {
map.go#L417: case *types.Tuple:
golang.org/x/tools/internal/gcimporter
iexport.go#L1284: func (w *exportWriter) paramList(tup *types.Tuple) {
iimport.go#L1075: func (r *importReader) paramList(pkg *types.Package) *types.Tuple {
ureader.go#L461: func (r *reader) params() *types.Tuple {
golang.org/x/tools/internal/typeparams
free.go#L69: case *types.Tuple:
golang.org/x/tools/internal/typesinternal
element.go#L123: case *types.Tuple:
zerovalue.go#L91: case *types.Tuple:
zerovalue.go#L192: case *types.Tuple:
zerovalue.go#L375: case *types.Tuple: