diff options
author | Russ Cox <rsc@golang.org> | 2010-04-30 13:04:16 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2010-04-30 13:04:16 -0700 |
commit | 560283c8800dff50a2a8a28731ebe57a841764d3 (patch) | |
tree | 5176384eb2e9155f9ffd999a6b3d0deef94dea8d | |
parent | 74a23646bcfc11262fd43737c7fcee0b9783e943 (diff) | |
download | go-560283c8800dff50a2a8a28731ebe57a841764d3.tar.gz go-560283c8800dff50a2a8a28731ebe57a841764d3.zip |
gc: bug270
Fixes #746.
R=ken2
CC=golang-dev
https://golang.org/cl/1040042
-rw-r--r-- | src/cmd/gc/walk.c | 5 | ||||
-rw-r--r-- | test/fixedbugs/bug270.go | 21 |
2 files changed, 22 insertions, 4 deletions
diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c index 5768285b84..f845638e88 100644 --- a/src/cmd/gc/walk.c +++ b/src/cmd/gc/walk.c @@ -803,11 +803,8 @@ walkexpr(Node **np, NodeList **init) switch(et) { case I2Isame: case E2Esame: - n->rlist = list(list1(r->left), nodbool(1)); - typechecklist(n->rlist, Erv); - goto as2; case I2E: - n->list = list(list1(n->right), nodbool(1)); + n->rlist = list(list1(r->left), nodbool(1)); typechecklist(n->rlist, Erv); goto as2; case I2T: diff --git a/test/fixedbugs/bug270.go b/test/fixedbugs/bug270.go new file mode 100644 index 0000000000..a9cda7bd7c --- /dev/null +++ b/test/fixedbugs/bug270.go @@ -0,0 +1,21 @@ +// $G $D/$F.go + +// Copyright 2010 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. + +// http://code.google.com/p/go/issues/detail?id=746 + +package main + +type I interface { F() } + +type T struct{} + +func (T) F() {} + +func main() { + switch I(T{}).(type) { + case interface{}: + } +} |