aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/modern-go/reflect2/go_below_118.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/modern-go/reflect2/go_below_118.go')
-rw-r--r--vendor/github.com/modern-go/reflect2/go_below_118.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/vendor/github.com/modern-go/reflect2/go_below_118.go b/vendor/github.com/modern-go/reflect2/go_below_118.go
new file mode 100644
index 0000000..00003db
--- /dev/null
+++ b/vendor/github.com/modern-go/reflect2/go_below_118.go
@@ -0,0 +1,21 @@
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) (val *hiter)
14
15func (type2 *UnsafeMapType) UnsafeIterate(obj unsafe.Pointer) MapIterator {
16 return &UnsafeMapIterator{
17 hiter: mapiterinit(type2.rtype, *(*unsafe.Pointer)(obj)),
18 pKeyRType: type2.pKeyRType,
19 pElemRType: type2.pElemRType,
20 }
21} \ No newline at end of file