summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-structr/util.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/codeberg.org/gruf/go-structr/util.go')
-rw-r--r--vendor/codeberg.org/gruf/go-structr/util.go8
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
+}