I'm really confusing. > That doesn't make sense to me. ifn and tfn need to refer to executable code. The code is copied from here https://github.com/golang/go/blob/0da4dbe2322eb3b6224df35ce3e9fc83f104762b/src/reflect/type.go#L2368 , why is it working here?
> ifn and tfn need to refer to executable code. I followed your advice and changed the code to `tfn: resolveReflectText(ifn.ptr)`, but it still gave the same error. After I changed the `methodReceiver` func in `value.go` file, calling `Dan.Method(0).Call([]reflect.Value{})` didn't panic any more, ``` ifn := v.typ.textOff(m.ifn) fn = unsafe.Pointer(&ifn) ``` to ``` fn := v.typ.textOff(m.ifn) ``` Why is `methodReceiver` taking address of `ifn` considering ifn is already a pointer to the function? -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/b773eb03-8b01-4a8f-a979-0451712b7e35n%40googlegroups.com.