// compile | |
// Copyright 2014 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. | |
// Issue 7405: the equality function for struct with many | |
// embedded fields became more complex after fixing issue 7366, | |
// leading to out of registers on 386. | |
package p | |
type T1 struct { | |
T2 | |
T3 | |
T4 | |
} | |
type T2 struct { | |
Conn | |
} | |
type T3 struct { | |
PacketConn | |
} | |
type T4 struct { | |
PacketConn | |
T5 | |
} | |
type T5 struct { | |
x int | |
T6 | |
} | |
type T6 struct { | |
y, z int | |
} | |
type Conn interface { | |
A() | |
} | |
type PacketConn interface { | |
B() | |
} | |
func F(a, b T1) bool { | |
return a == b | |
} |