//+build ignore

package main

type I interface {
	f()
}

type J interface {
	g()
}

type C int // C and *C implement I; *C implements J

func (C) f()
func (*C) g()

type D int // *D implements I and J

func (*D) f()
func (*D) g()

func f(i I) {
	i.f() // calls C, *C, *D
}

func g(j J) {
	j.g() // calls *C, *D
}

// WANT:
// Dynamic calls
//   f --> (*C).f
//   f --> (*D).f
//   f --> (C).f
//   g --> (*C).g
//   g --> (*D).g
