blob: 6177a32476e7ec413ec503f2fb1b0c5d7b3a25a0 [file] [log] [blame]
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// go:build ignore
package testdata
type I interface {
Foo()
}
type A struct{}
func (a A) Foo() {}
type B struct{}
func (b B) Foo() {}
func Do(a A, b B) map[I]I {
m := make(map[I]I)
m[a] = B{}
m[b] = b
return m
}
func Baz(a A, b B) {
var x []I
for k, v := range Do(a, b) {
k.Foo()
v.Foo()
x = append(x, k)
}
x[len(x)-1].Foo()
}
// WANT:
// Baz: Do(a, b) -> Do; invoke t16.Foo() -> A.Foo, B.Foo; invoke t5.Foo() -> A.Foo, B.Foo; invoke t6.Foo() -> B.Foo