// Copyright 2012 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 a
type T struct{ A, B int }
type A []int
type M map[int]int
func F1() int {
if (T{1, 2}) == (T{3, 4}) {
return 1
}
return 0
}
func F2() int {
if (M{1: 2}) == nil {
return 1
}
return 0
}
func F3() int {
if nil == (A{}) {
return 1
}
return 0
}
func F4() int {
if a := (A{}); a == nil {
return 1
}
return 0
}
func F5() int {
for k, v := range (M{1: 2}) {
return v - k
}
return 0
}
func F6() int {
switch a := (T{1, 1}); a == (T{1, 2}) {
default:
return 1
}
return 0
}
func F7() int {
for m := (M{}); len(m) < (T{1, 2}).A; m[1] = (A{1})[0] {
return 1
}
return 0
}
func F8() int {
if a := (&T{1, 1}); a != nil {
return 1
}
return 0
}
func F9() int {
var a *T
if a = (&T{1, 1}); a != nil {
return 1
}
return 0
}