Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
golang
/
1.22.0
/
test
/
fixedbugs
/
Filename :
bug483.go
back
Copy
// run // Copyright 2014 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. // Test for a garbage collection bug involving not // marking x as having its address taken by &x[0] // when x is an array value. package main import ( "bytes" "fmt" "runtime" ) func main() { var x = [4]struct{ x, y interface{} }{ {"a", "b"}, {"c", "d"}, {"e", "f"}, {"g", "h"}, } var buf bytes.Buffer for _, z := range x { runtime.GC() fmt.Fprintf(&buf, "%s %s ", z.x.(string), z.y.(string)) } if buf.String() != "a b c d e f g h " { println("BUG wrong output\n", buf.String()) } }