| // 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 |
| ) |