func chanOfRecv() {
    // MakeChan(<-chan) is a no-op.
    t := reflect.ChanOf(reflect.RecvDir, reflect.TypeOf(&a))
    print(reflect.Zero(t).Interface())                      // @types <-chan *int
    print(reflect.MakeChan(t, 0).Interface().(<-chan *int)) // @pointsto