gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

go_above_118.go (552B)


      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, it *hiter)
     14 
     15 func (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 }