// run | |
// Copyright 2009 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 predeclared names can be redeclared by the user. | |
package main | |
import ( | |
"fmt" | |
"runtime" | |
) | |
func main() { | |
n := | |
append + | |
bool + | |
byte + | |
complex + | |
complex64 + | |
complex128 + | |
cap + | |
close + | |
delete + | |
error + | |
false + | |
float32 + | |
float64 + | |
imag + | |
int + | |
int8 + | |
int16 + | |
int32 + | |
int64 + | |
len + | |
make + | |
new + | |
nil + | |
panic + | |
print + | |
println + | |
real + | |
recover + | |
rune + | |
string + | |
true + | |
uint + | |
uint8 + | |
uint16 + | |
uint32 + | |
uint64 + | |
uintptr + | |
iota | |
if n != NUM*(NUM-1)/2 { | |
fmt.Println("BUG: wrong n", n, NUM*(NUM-1)/2) | |
runtime.Breakpoint() // panic is inaccessible | |
} | |
} | |
const ( | |
// cannot use iota here, because iota = 38 below | |
append = 1 | |
bool = 2 | |
byte = 3 | |
complex = 4 | |
complex64 = 5 | |
complex128 = 6 | |
cap = 7 | |
close = 8 | |
delete = 9 | |
error = 10 | |
false = 11 | |
float32 = 12 | |
float64 = 13 | |
imag = 14 | |
int = 15 | |
int8 = 16 | |
int16 = 17 | |
int32 = 18 | |
int64 = 19 | |
len = 20 | |
make = 21 | |
new = 22 | |
nil = 23 | |
panic = 24 | |
print = 25 | |
println = 26 | |
real = 27 | |
recover = 28 | |
rune = 29 | |
string = 30 | |
true = 31 | |
uint = 32 | |
uint8 = 33 | |
uint16 = 34 | |
uint32 = 35 | |
uint64 = 36 | |
uintptr = 37 | |
iota = 38 | |
NUM = 39 | |
) |