Home | History | Annotate | Download | only in fixedbugs
      1 // errorcheck
      2 
      3 // Copyright 2015 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 // issue 13365: confusing error message (array vs slice)
      8 
      9 package main
     10 
     11 var t struct{}
     12 
     13 func main() {
     14 	_ = []int{-1: 0}    // ERROR "index must be non\-negative integer constant"
     15 	_ = [10]int{-1: 0}  // ERROR "index must be non\-negative integer constant"
     16 	_ = [...]int{-1: 0} // ERROR "index must be non\-negative integer constant"
     17 
     18 	_ = []int{100: 0}
     19 	_ = [10]int{100: 0} // ERROR "array index 100 out of bounds"
     20 	_ = [...]int{100: 0}
     21 
     22 	_ = []int{t}    // ERROR "cannot use .* as type int in array or slice literal"
     23 	_ = [10]int{t}  // ERROR "cannot use .* as type int in array or slice literal"
     24 	_ = [...]int{t} // ERROR "cannot use .* as type int in array or slice literal"
     25 }
     26