]> Cypherpunks.ru repositories - gostls13.git/blob - test/rename.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / rename.go
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 )