1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| // run
|
| // Copyright 2012 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 that when the compiler expands append inline it does not
| // overwrite a value before it needs it (issue 3369).
|
| package main
|
| func main() {
| s := make([]byte, 5, 6)
| copy(s, "12346")
| s = append(s[:len(s)-1], '5', s[len(s)-1])
| if string(s) != "123456" {
| panic(s)
| }
| }
|
|