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.
7 // Exchanging two struct fields was compiled incorrectly.
15 func F(c bool, s1, s2 S) (int, int) {
17 s1.i, s2.i = s2.i, s1.i
23 i, j := F(true, S{1}, S{20})
24 if i != 20 || j != 1 {