golang/test/fixedbugs/issue33062.go

34 lines
568 B
Go

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