c2047754c3
Compiler changes: * Change map assignment to use mapassign and assign value directly. * Change string iteration to use decoderune, faster for ASCII strings. * Change makeslice to take int, and use makeslice64 for larger values. * Add new noverflow field to hmap struct used for maps. Unresolved problems, to be fixed later: * Commented out test in go/types/sizes_test.go that doesn't compile. * Commented out reflect.TestStructOf test for padding after zero-sized field. Reviewed-on: https://go-review.googlesource.com/35231 gotools/: Updates for Go 1.8rc1. * Makefile.am (go_cmd_go_files): Add bug.go. (s-zdefaultcc): Write defaultPkgConfig. * Makefile.in: Rebuild. From-SVN: r244456
219 lines
3.2 KiB
Plaintext
219 lines
3.2 KiB
Plaintext
//gofmt -s
|
|
|
|
package P
|
|
|
|
type T struct {
|
|
x, y int
|
|
}
|
|
|
|
type T2 struct {
|
|
w, z int
|
|
}
|
|
|
|
var _ = [42]T{
|
|
T{},
|
|
T{1, 2},
|
|
T{3, 4},
|
|
}
|
|
|
|
var _ = [...]T{
|
|
T{},
|
|
T{1, 2},
|
|
T{3, 4},
|
|
}
|
|
|
|
var _ = []T{
|
|
T{},
|
|
T{1, 2},
|
|
T{3, 4},
|
|
}
|
|
|
|
var _ = []T{
|
|
T{},
|
|
10: T{1, 2},
|
|
20: T{3, 4},
|
|
}
|
|
|
|
var _ = []struct {
|
|
x, y int
|
|
}{
|
|
struct{ x, y int }{},
|
|
10: struct{ x, y int }{1, 2},
|
|
20: struct{ x, y int }{3, 4},
|
|
}
|
|
|
|
var _ = []interface{}{
|
|
T{},
|
|
10: T{1, 2},
|
|
20: T{3, 4},
|
|
}
|
|
|
|
var _ = [][]int{
|
|
[]int{},
|
|
[]int{1, 2},
|
|
[]int{3, 4},
|
|
}
|
|
|
|
var _ = [][]int{
|
|
([]int{}),
|
|
([]int{1, 2}),
|
|
[]int{3, 4},
|
|
}
|
|
|
|
var _ = [][][]int{
|
|
[][]int{},
|
|
[][]int{
|
|
[]int{},
|
|
[]int{0, 1, 2, 3},
|
|
[]int{4, 5},
|
|
},
|
|
}
|
|
|
|
var _ = map[string]T{
|
|
"foo": T{},
|
|
"bar": T{1, 2},
|
|
"bal": T{3, 4},
|
|
}
|
|
|
|
var _ = map[string]struct {
|
|
x, y int
|
|
}{
|
|
"foo": struct{ x, y int }{},
|
|
"bar": struct{ x, y int }{1, 2},
|
|
"bal": struct{ x, y int }{3, 4},
|
|
}
|
|
|
|
var _ = map[string]interface{}{
|
|
"foo": T{},
|
|
"bar": T{1, 2},
|
|
"bal": T{3, 4},
|
|
}
|
|
|
|
var _ = map[string][]int{
|
|
"foo": []int{},
|
|
"bar": []int{1, 2},
|
|
"bal": []int{3, 4},
|
|
}
|
|
|
|
var _ = map[string][]int{
|
|
"foo": ([]int{}),
|
|
"bar": ([]int{1, 2}),
|
|
"bal": []int{3, 4},
|
|
}
|
|
|
|
// from exp/4s/data.go
|
|
var pieces4 = []Piece{
|
|
Piece{0, 0, Point{4, 1}, []Point{Point{0, 0}, Point{1, 0}, Point{1, 0}, Point{1, 0}}, nil, nil},
|
|
Piece{1, 0, Point{1, 4}, []Point{Point{0, 0}, Point{0, 1}, Point{0, 1}, Point{0, 1}}, nil, nil},
|
|
Piece{2, 0, Point{4, 1}, []Point{Point{0, 0}, Point{1, 0}, Point{1, 0}, Point{1, 0}}, nil, nil},
|
|
Piece{3, 0, Point{1, 4}, []Point{Point{0, 0}, Point{0, 1}, Point{0, 1}, Point{0, 1}}, nil, nil},
|
|
}
|
|
|
|
var _ = [42]*T{
|
|
&T{},
|
|
&T{1, 2},
|
|
&T{3, 4},
|
|
}
|
|
|
|
var _ = [...]*T{
|
|
&T{},
|
|
&T{1, 2},
|
|
&T{3, 4},
|
|
}
|
|
|
|
var _ = []*T{
|
|
&T{},
|
|
&T{1, 2},
|
|
&T{3, 4},
|
|
}
|
|
|
|
var _ = []*T{
|
|
&T{},
|
|
10: &T{1, 2},
|
|
20: &T{3, 4},
|
|
}
|
|
|
|
var _ = []*struct {
|
|
x, y int
|
|
}{
|
|
&struct{ x, y int }{},
|
|
10: &struct{ x, y int }{1, 2},
|
|
20: &struct{ x, y int }{3, 4},
|
|
}
|
|
|
|
var _ = []interface{}{
|
|
&T{},
|
|
10: &T{1, 2},
|
|
20: &T{3, 4},
|
|
}
|
|
|
|
var _ = []*[]int{
|
|
&[]int{},
|
|
&[]int{1, 2},
|
|
&[]int{3, 4},
|
|
}
|
|
|
|
var _ = []*[]int{
|
|
(&[]int{}),
|
|
(&[]int{1, 2}),
|
|
&[]int{3, 4},
|
|
}
|
|
|
|
var _ = []*[]*[]int{
|
|
&[]*[]int{},
|
|
&[]*[]int{
|
|
&[]int{},
|
|
&[]int{0, 1, 2, 3},
|
|
&[]int{4, 5},
|
|
},
|
|
}
|
|
|
|
var _ = map[string]*T{
|
|
"foo": &T{},
|
|
"bar": &T{1, 2},
|
|
"bal": &T{3, 4},
|
|
}
|
|
|
|
var _ = map[string]*struct {
|
|
x, y int
|
|
}{
|
|
"foo": &struct{ x, y int }{},
|
|
"bar": &struct{ x, y int }{1, 2},
|
|
"bal": &struct{ x, y int }{3, 4},
|
|
}
|
|
|
|
var _ = map[string]interface{}{
|
|
"foo": &T{},
|
|
"bar": &T{1, 2},
|
|
"bal": &T{3, 4},
|
|
}
|
|
|
|
var _ = map[string]*[]int{
|
|
"foo": &[]int{},
|
|
"bar": &[]int{1, 2},
|
|
"bal": &[]int{3, 4},
|
|
}
|
|
|
|
var _ = map[string]*[]int{
|
|
"foo": (&[]int{}),
|
|
"bar": (&[]int{1, 2}),
|
|
"bal": &[]int{3, 4},
|
|
}
|
|
|
|
var pieces4 = []*Piece{
|
|
&Piece{0, 0, Point{4, 1}, []Point{Point{0, 0}, Point{1, 0}, Point{1, 0}, Point{1, 0}}, nil, nil},
|
|
&Piece{1, 0, Point{1, 4}, []Point{Point{0, 0}, Point{0, 1}, Point{0, 1}, Point{0, 1}}, nil, nil},
|
|
&Piece{2, 0, Point{4, 1}, []Point{Point{0, 0}, Point{1, 0}, Point{1, 0}, Point{1, 0}}, nil, nil},
|
|
&Piece{3, 0, Point{1, 4}, []Point{Point{0, 0}, Point{0, 1}, Point{0, 1}, Point{0, 1}}, nil, nil},
|
|
}
|
|
|
|
var _ = map[T]T2{
|
|
T{1, 2}: T2{3, 4},
|
|
T{5, 6}: T2{7, 8},
|
|
}
|
|
|
|
var _ = map[*T]*T2{
|
|
&T{1, 2}: &T2{3, 4},
|
|
&T{5, 6}: &T2{7, 8},
|
|
}
|