1 // run 2 3 // Copyright 2009 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 package main 8 9 func main() { 10 var b [0]byte 11 s := string(b[0:]) // out of bounds trap 12 if s != "" { 13 panic("bad convert") 14 } 15 var b1 = [5]byte{'h', 'e', 'l', 'l', 'o'} 16 if string(b1[0:]) != "hello" { 17 panic("bad convert 1") 18 } 19 var b2 = make([]byte, 5) 20 for i := 0; i < 5; i++ { 21 b2[i] = b1[i] 22 } 23 if string(b2) != "hello" { 24 panic("bad convert 2") 25 } 26 } 27