mirror of
https://github.com/golang/go.git
synced 2025-05-15 12:24:37 +00:00
It used to not mark parameters as escaping if only one of the fields it points to leaks out of the function. This causes problems when importing from another package. Fixes #4964. R=rsc, lvd, dvyukov, daniel.morsing CC=golang-dev https://golang.org/cl/7648045
28 lines
401 B
Go
28 lines
401 B
Go
// 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 a
|
|
|
|
var global, global2 *int
|
|
|
|
type T struct {
|
|
Pointer *int
|
|
}
|
|
|
|
func dontinline() {}
|
|
|
|
func Store(t *T) {
|
|
global = t.Pointer
|
|
dontinline()
|
|
}
|
|
|
|
func Store2(t *T) {
|
|
global2 = t.Pointer
|
|
dontinline()
|
|
}
|
|
|
|
func Get() *int {
|
|
return global
|
|
}
|