diff options
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.go | 21 |
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 | |||
3 | package reflect2 | ||
4 | |||
5 | import ( | ||
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 | ||
13 | func mapiterinit(rtype unsafe.Pointer, m unsafe.Pointer) (val *hiter) | ||
14 | |||
15 | func (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 | ||