We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 48987ba commit 39ad208Copy full SHA for 39ad208
test/strcopy.go
@@ -0,0 +1,29 @@
1
+// run
2
+
3
+// Copyright 2018 The Go Authors. All rights reserved.
4
+// Use of this source code is governed by a BSD-style
5
+// license that can be found in the LICENSE file.
6
7
+// Test that string([]byte(string)) makes a copy and doesn't reduce to
8
+// nothing. (Issue 25834)
9
10
+package main
11
12
+import (
13
+ "reflect"
14
+ "unsafe"
15
+)
16
17
+func main() {
18
+ var (
19
+ buf = make([]byte, 2<<10)
20
+ large = string(buf)
21
+ sub = large[10:12]
22
+ subcopy = string([]byte(sub))
23
+ subh = *(*reflect.StringHeader)(unsafe.Pointer(&sub))
24
+ subcopyh = *(*reflect.StringHeader)(unsafe.Pointer(&subcopy))
25
+ )
26
+ if subh.Data == subcopyh.Data {
27
+ panic("sub and subcopy have the same underlying array")
28
+ }
29
+}
0 commit comments