/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/strcopy.go
29 строк
674 B
Brad Fitzpatrick
test: add test to verify that string copies don't get optimized away
12 июн 2018, 22:10
12 июн 2018, 22:10
39ad208
Код
Авторство
О чём код?
// run // Copyright 2018 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 string([]byte(string)) makes a copy and doesn't reduce to // nothing. (Issue 25834) package main import ( "reflect" "unsafe" ) func main() { var ( buf = make([]byte, 2<<10) large = string(buf) sub = large[10:12] subcopy = string([]byte(sub)) subh = *(*reflect.StringHeader)(unsafe.Pointer(&sub)) subcopyh = *(*reflect.StringHeader)(unsafe.Pointer(&subcopy)) ) if subh.Data == subcopyh.Data { panic("sub and subcopy have the same underlying array") } }