aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/modern-go/reflect2/go_above_118.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/modern-go/reflect2/go_above_118.go')
-rw-r--r--vendor/github.com/modern-go/reflect2/go_above_118.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/github.com/modern-go/reflect2/go_above_118.go b/vendor/github.com/modern-go/reflect2/go_above_118.go
new file mode 100644
index 0000000..2b4116f
--- /dev/null
+++ b/vendor/github.com/modern-go/reflect2/go_above_118.go
@@ -0,0 +1,23 @@
1//+build go1.18
2
3package reflect2
4
5import (
6 "unsafe"
7)
8
9// m escapes into the return value, but the caller of mapiterinit
10// doesn't let the return value escape.
11//go:noescape
12//go:linkname mapiterinit reflect.mapiterinit
13func mapiterinit(rtype unsafe.Pointer, m unsafe.Pointer, it *hiter)
14
15func (type2 *UnsafeMapType) UnsafeIterate(obj unsafe.Pointer) MapIterator {
16 var it hiter
17 mapiterinit(type2.rtype, *(*unsafe.Pointer)(obj), &it)
18 return &UnsafeMapIterator{
19 hiter: &it,
20 pKeyRType: type2.pKeyRType,
21 pElemRType: type2.pElemRType,
22 }
23} \ No newline at end of file