github.com/xushiwei/go@v0.0.0-20130601165731-2b9d83f45bc9/test/fixedbugs/bug246.go (about)

     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  }