1
0
mirror of https://github.com/golang/go synced 2024-11-25 10:57:58 -07:00
go/test/bugs/bug194.go
Ian Lance Taylor 1f1551f179 Test composite literals with undeclared types. This crashed
gccgo in a few different places, and crashes 6g as of this
writing.  Note that the index in a composite literal must be
looked up in a different namespace if the composite literal
type turns out to be a struct.

R=rsc
DELTA=36  (36 added, 0 deleted, 0 changed)
OCL=33681
CL=33685
2009-08-21 16:09:17 -07:00

33 lines
706 B
Go

// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG should compile and 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.
package main
var v1 = T1(1)
var v2 = T2{2}
var v3 = T3{0:3, 1:4}
var v4 = T4{0:5, 1:6}
var v5 = T5{0:7, 1:8}
var v6 = T2{f:9}
var v7 = T4{f:10}
var v8 = T5{f:11}
var pf func(T1)
func main() {
if v1 != 1 || v2.f != 2 || v3[0] != 3 || v3[1] != 4
|| v4[0] != 5 || v4[1] != 6 || v5[0] != 7 || v5[1] != 8
|| v6.f != 9 || v7[0] != 10 || v8[0] != 11 {
panic()
}
}
type T1 int
type T2 struct { f int }
type T3 []int
type T4 [2]int
type T5 map[int] int
const f = 0