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// Ensure that inlined struct/array comparisons have the right side-effects.
8
9package main
10
11import "os"
12
13func main() {
14	var x int
15	f := func() (r [4]int) {
16		x++
17		return
18	}
19	_ = f() == f()
20	if x != 2 {
21		println("f evaluated ", x, " times, want 2")
22		os.Exit(1)
23	}
24}
25