1
0
mirror of https://github.com/golang/go synced 2024-11-21 23:54:40 -07:00

gc: never include ( ) on singleton func return type

Fixes #749.

R=ken2
CC=golang-dev
https://golang.org/cl/963043
This commit is contained in:
Russ Cox 2010-04-29 16:07:14 -07:00
parent 10eb76b04e
commit 77817e08d5
2 changed files with 22 additions and 8 deletions

View File

@ -1227,14 +1227,10 @@ Tpretty(Fmt *fp, Type *t)
fmtprint(fp, " ?unknown-type?"); fmtprint(fp, " ?unknown-type?");
break; break;
} }
if(t1->etype != TFIELD) { if(t1->etype == TFIELD)
fmtprint(fp, " %T", t1); t1 = t1->type;
break; fmtprint(fp, " %T", t1);
} break;
if(t1->sym == S) {
fmtprint(fp, " %T", t1->type);
break;
}
default: default:
t1 = getoutargx(t)->type; t1 = getoutargx(t)->type;
fmtprint(fp, " ("); fmtprint(fp, " (");

18
test/fixedbugs/bug269.go Normal file
View File

@ -0,0 +1,18 @@
// $G $D/$F.go && $L $F.$A && ./$A.out
// 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=749
package main
func f() (ok bool) { return false }
func main() {
var i interface{}
i = f
_ = i.(func()bool)
_ = i.(func()(bool))
}