diff options
author | Russ Cox <rsc@golang.org> | 2008-12-19 09:03:24 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2008-12-19 09:03:24 -0800 |
commit | a960c9149b61415346bf0591dc9052eb002dd820 (patch) | |
tree | 543a2191f9659b90c0730425381997be80d75b3a /src/cmd/gc/subr.c | |
parent | 902c03dbf5832d103d487160db5b1a414b8cad3d (diff) | |
download | golang-a960c9149b61415346bf0591dc9052eb002dd820.tar.gz |
new error messages
x.go:11: illegal types for operand: AS
*I
*T
(*interface vs *struct)
R=r
DELTA=10 (8 added, 0 deleted, 2 changed)
OCL=21457
CL=21602
Diffstat (limited to 'src/cmd/gc/subr.c')
-rw-r--r-- | src/cmd/gc/subr.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c index e180258bb..e1fb97d62 100644 --- a/src/cmd/gc/subr.c +++ b/src/cmd/gc/subr.c @@ -2140,6 +2140,14 @@ loop: print(" %lT\n", tl); if(tr != T) print(" %lT\n", tr); + + // common mistake: *struct and *interface. + if(tl && tr && isptr[tl->etype] && isptr[tr->etype]) { + if(tl->type->etype == TSTRUCT && tr->type->etype == TINTER) + print(" (*struct vs *interface)\n"); + else if(tl->type->etype == TINTER && tr->type->etype == TSTRUCT) + print(" (*interface vs *struct)\n"); + } } /* |