From efd33d383f395d3518b94dd5e49bd039ad18d25a Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 28 Oct 2014 23:22:46 -0400 Subject: cmd/gc: fix internal compiler error in struct compare Fixes issue 9006. LGTM=r R=r CC=golang-codereviews https://codereview.appspot.com/167800043 --- test/fixedbugs/issue9006.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 test/fixedbugs/issue9006.go (limited to 'test') diff --git a/test/fixedbugs/issue9006.go b/test/fixedbugs/issue9006.go new file mode 100644 index 000000000..c559f58f1 --- /dev/null +++ b/test/fixedbugs/issue9006.go @@ -0,0 +1,37 @@ +// run + +// 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. + +package main + +type T1 struct { + X int +} + +func NewT1(x int) T1 { return T1{x} } + +type T2 int + +func NewT2(x int) T2 { return T2(x) } + +func main() { + switch (T1{}) { + case NewT1(1): + panic("bad1") + case NewT1(0): + // ok + default: + panic("bad2") + } + + switch T2(0) { + case NewT2(2): + panic("bad3") + case NewT2(0): + // ok + default: + panic("bad4") + } +} -- cgit v1.2.1