// run // Copyright 2019 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 33062: gccgo generates incorrect type equality // functions. package main type simpleStruct struct { int string } type complexStruct struct { int simpleStruct } func main() { x := complexStruct{1, simpleStruct{2, "xxx"}} ix := interface{}(x) y := complexStruct{1, simpleStruct{2, "yyy"}} iy := interface{}(y) if ix != ix { panic("FAIL") } if ix == iy { panic("FAIL") } }