1 // run 2 3 // Copyright 2009 The Go Authors. All rights reserved. 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file. 6 7 package main 8 9 import "unsafe" 10 11 func main() { 12 // works 13 addr := uintptr(0x234) 14 x1 := (*int)(unsafe.Pointer(addr)) 15 16 // fails 17 x2 := (*int)(unsafe.Pointer(uintptr(0x234))) 18 19 if x1 != x2 { 20 println("mismatch", x1, x2) 21 panic("fail") 22 } 23 } 24