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.
7 // Test various safe uses of indirection.
12 var m1
*map[string]int
13 var m2
*map[string]int = &m0
14 var m3
map[string]int = map[string]int{"a": 1}
15 var m4
*map[string]int = &m3
30 var b3
[]int = []int{1, 2, 3}
34 // these uses of nil pointers
35 // would crash but should type check
41 // this is spaced funny so that
42 // the compiler will print a different
43 // line number for each len call if
44 // it decides there are type errors.
45 // it might also help in the traceback.
50 println("wrong maplen")
58 println("wrong stringlen")
66 println("wrong arraylen")
74 println("wrong slicelen")
82 println("wrong slicecap")
87 func main() { nocrash() }