// +build ignore | |
package main | |
// Test of dynamic function calls. | |
// No interfaces, so no runtime/reflect types. | |
func A1() { | |
A2(0) | |
} | |
func A2(int) {} // not address-taken | |
func B() {} // unreachable | |
var ( | |
C = func(int) {} | |
D = func(int) {} | |
) | |
func main() { | |
A1() | |
pfn := C | |
pfn(0) // calls C and D but not A2 (same sig but not address-taken) | |
} | |
// WANT: | |
// Dynamic calls | |
// main --> init$1 | |
// main --> init$2 | |
// Reachable functions | |
// A1 | |
// A2 | |
// init$1 | |
// init$2 | |
// Reflect types |