diff options
Diffstat (limited to 'test/fixedbugs/issue22458.go')
-rw-r--r-- | test/fixedbugs/issue22458.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/fixedbugs/issue22458.go b/test/fixedbugs/issue22458.go new file mode 100644 index 0000000..5c89929 --- /dev/null +++ b/test/fixedbugs/issue22458.go @@ -0,0 +1,26 @@ +// compile + +// Copyright 2017 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. + +// Make sure KeepAlive introduces a use of the spilled variable. + +package main + +import "runtime" + +type node struct { + next *node +} + +var x bool + +func main() { + var head *node + for x { + head = &node{head} + } + + runtime.KeepAlive(head) +} |