Home | History | Annotate | Download | only in fixedbugs
      1 // run
      2 
      3 // Copyright 2016 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 package main
      8 
      9 import "fmt"
     10 
     11 var results string
     12 
     13 type TwoInts struct {
     14 	x, y int
     15 }
     16 
     17 func f(x int) int { results = results + fmt.Sprintf("_%d", x); return x }
     18 
     19 func main() {
     20 	_ = [19]int{1: f(1), 0: f(0), 2: f(2), 6, 7}
     21 	_ = [2]int{1: f(4), 0: f(3)}
     22 	_ = TwoInts{y: f(6), x: f(5)}
     23 	_ = map[int]int{f(f(9) + 1): f(8), 0: f(7), f(22): -1}
     24 	if results != "_1_0_2_4_3_6_5_9_10_8_7_22" {
     25 		fmt.Printf("unexpected: %s\n", results)
     26 		panic("fail")
     27 	}
     28 }
     29