diff options
Diffstat (limited to 'vendor/codeberg.org/gruf/go-structr/util.go')
-rw-r--r-- | vendor/codeberg.org/gruf/go-structr/util.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vendor/codeberg.org/gruf/go-structr/util.go b/vendor/codeberg.org/gruf/go-structr/util.go index 46535fcff..84c98074d 100644 --- a/vendor/codeberg.org/gruf/go-structr/util.go +++ b/vendor/codeberg.org/gruf/go-structr/util.go @@ -1,5 +1,7 @@ package structr +import "unsafe" + // once only executes 'fn' once. func once(fn func()) func() { var once int32 @@ -11,3 +13,9 @@ func once(fn func()) func() { fn() } } + +// eface_data returns the data ptr from an empty interface. +func eface_data(a any) unsafe.Pointer { + type eface struct{ _, data unsafe.Pointer } + return (*eface)(unsafe.Pointer(&a)).data +} |