cmd/internal/gc: do not show computed value in type error

Fixes #9076.

Change-Id: Ib41a452fa9aa9fecf19f65c36d13715923548041
Reviewed-on: https://go-review.googlesource.com/1250
Reviewed-by: Minux Ma <minux@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
Run-TryBot: Chris Manghane <cmang@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Chris Manghane 2014-12-09 06:52:17 -08:00
parent b59dd94f33
commit c7e1453e3d
3 changed files with 21 additions and 6 deletions

View file

@ -1261,16 +1261,16 @@ func exprfmt(n *Node, prec int) string {
return f
case OLITERAL: // this is a bit of a mess
if n.Orig != nil && n.Orig != n {
var f string
f += exprfmt(n.Orig, prec)
return f
}
if fmtmode == FErr && n.Sym != nil {
var f string
f += fmt.Sprintf("%v", Sconv(n.Sym, 0))
return f
}
if n.Val.Ctype == CTNIL && n.Orig != nil && n.Orig != n {
var f string
f += exprfmt(n.Orig, prec)
return f
}
if n.Type != nil && n.Type != Types[n.Type.Etype] && n.Type != idealbool && n.Type != idealstring {
// Need parens when type begins with what might
// be misinterpreted as a unary operator: * or <-.