//+build ignore package main // Test of runtime types (types for which descriptors are needed). func use(interface{}) type A byte // neither A nor byte are runtime types type B struct{ x uint } // B and uint are runtime types, but not the struct func main() { var x int // not a runtime type print(x) var y string // runtime type due to interface conversion use(y) use(struct{ uint64 }{}) // struct is a runtime type use(new(B)) // *B is a runtime type } // WANT: // Dynamic calls // Reachable functions // use // Reflect types // *B // B // string // struct{uint64} // uint // uint64