You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: unsafe_type.go
    path of file: ./repos/faygo/vendor/github.com/modern-go/reflect2
    
    the code of the file until where you have to start completion: package reflect2

import (
	"reflect"
	"unsafe"
)

type unsafeType struct {
	safeType
	rtype    unsafe.Pointer
	ptrRType unsafe.Pointer
}

func newUnsafeType(cfg *frozenConfig, type1 reflect.Type) *unsafeType {
	return &unsafeType{
		safeType: safe
    
func assertType(where string, expectRType unsafe.Pointer, actualRType unsafe.Pointer) {
	if expectRType != actualRType {
		expectType := reflect.TypeOf(0)
		(*iface)(unsafe.Pointer(&expectType)).data = expectRType
		actualType := reflect.TypeOf(0)
		(*iface)(unsafe.Pointer(&actualType)).data = actualRType
		panic(where + ": expect " + expectType.String() + ", actual " + actualType.String())
	}
}