From 94a54bc105d42cf85ce061c0ee9f27c1729ad7e4 Mon Sep 17 00:00:00 2001 From: Damian Gryski Date: Fri, 10 Mar 2023 11:02:42 -0800 Subject: [PATCH] reflect: add UnsafePointer() for Func types --- src/reflect/value.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/reflect/value.go b/src/reflect/value.go index 3e61c44a..8e2b0320 100644 --- a/src/reflect/value.go +++ b/src/reflect/value.go @@ -189,8 +189,12 @@ func (v Value) UnsafePointer() unsafe.Pointer { slice := (*sliceHeader)(v.value) return slice.data case Func: - panic("unimplemented: (reflect.Value).UnsafePointer()") - default: // not implemented: Func + fn := (*funcHeader)(v.value) + if fn.Context != nil { + return fn.Context + } + return fn.Code + default: panic(&ValueError{Method: "UnsafePointer", Kind: v.Kind()}) } }