// Copyright 2013 The Go Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style | |
// license that can be found in the LICENSE file. | |
package main | |
import "./a" | |
func F() { | |
// store 1 in a.global | |
x, y := 1, 2 | |
t := a.T{Pointer: &x} | |
a.Store(&t) | |
_ = y | |
} | |
func G() { | |
// store 4 in a.global2 | |
x, y := 3, 4 | |
t := a.T{Pointer: &y} | |
a.Store2(&t) | |
_ = x | |
} | |
func main() { | |
F() | |
G() | |
p := a.Get() | |
n := *p | |
if n != 1 { | |
println(n, "!= 1") | |
panic("n != 1") | |
} | |
} |