github.com/karrick/go@v0.0.0-20170817181416-d5b0ec858b37/test/rename.go (about) 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 // Test that predeclared names can be redeclared by the user. 8 9 package main 10 11 import ( 12 "fmt" 13 "runtime" 14 ) 15 16 func main() { 17 n := 18 append + 19 bool + 20 byte + 21 complex + 22 complex64 + 23 complex128 + 24 cap + 25 close + 26 delete + 27 error + 28 false + 29 float32 + 30 float64 + 31 imag + 32 int + 33 int8 + 34 int16 + 35 int32 + 36 int64 + 37 len + 38 make + 39 new + 40 nil + 41 panic + 42 print + 43 println + 44 real + 45 recover + 46 rune + 47 string + 48 true + 49 uint + 50 uint8 + 51 uint16 + 52 uint32 + 53 uint64 + 54 uintptr + 55 iota 56 if n != NUM*(NUM-1)/2 { 57 fmt.Println("BUG: wrong n", n, NUM*(NUM-1)/2) 58 runtime.Breakpoint() // panic is inaccessible 59 } 60 } 61 62 const ( 63 // cannot use iota here, because iota = 38 below 64 append = 1 65 bool = 2 66 byte = 3 67 complex = 4 68 complex64 = 5 69 complex128 = 6 70 cap = 7 71 close = 8 72 delete = 9 73 error = 10 74 false = 11 75 float32 = 12 76 float64 = 13 77 imag = 14 78 int = 15 79 int8 = 16 80 int16 = 17 81 int32 = 18 82 int64 = 19 83 len = 20 84 make = 21 85 new = 22 86 nil = 23 87 panic = 24 88 print = 25 89 println = 26 90 real = 27 91 recover = 28 92 rune = 29 93 string = 30 94 true = 31 95 uint = 32 96 uint8 = 33 97 uint16 = 34 98 uint32 = 35 99 uint64 = 36 100 uintptr = 37 101 iota = 38 102 NUM = 39 103 )