gtsocial-umbx

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

go_below_118.go (531B)


      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 }