잘못되었을 가능성이 있는 uintptr에서 unsafe.Pointer로의 변환을 보고합니다.

포인터 값을 가진 uintptr 타입의 워드가 메모리에 있음이 추론되는 경우uintptr에서 unsafe.Pointer로의 변환은 올바르지 않습니다. 이 경우 이 워드는 스택 복사 및 가비지 콜렉터에 보이지 않기 때문입니다.

잘못된 사용 예:

nums := []int8{42, 24}
ptr := unsafe.Pointer(&nums[0])
addr := uintptr(ptr) // 주소가 지역 변수에 저장됨
ptr = unsafe.Pointer(addr + uintptr(1))

올바른 사용 사례:

nums := []int8{42, 24}
ptr := unsafe.Pointer(&nums[0])
ptr = unsafe.Pointer(uintptr(ptr) + uintptr(1))