| // 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 |
| } |