//+build go1.18

package reflect2

import (
	
)

// m escapes into the return value, but the caller of mapiterinit
// doesn't let the return value escape.
//go:noescape
//go:linkname mapiterinit reflect.mapiterinit
func mapiterinit( unsafe.Pointer,  unsafe.Pointer,  *hiter)

func ( *UnsafeMapType) ( unsafe.Pointer) MapIterator {
	var  hiter
	mapiterinit(.rtype, *(*unsafe.Pointer)(), &)
	return &UnsafeMapIterator{
		hiter:      &,
		pKeyRType:  .pKeyRType,
		pElemRType: .pElemRType,
	}
}