From: Anthony Martin Date: Mon, 22 Nov 2010 15:59:51 +0000 (-0500) Subject: gc: better error message for bad type in channel send X-Git-Tag: weekly.2010-11-23~4 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=1ee4512b98edfadbd2e12fb983232cf08cd8b31d;p=gostls13.git gc: better error message for bad type in channel send # test program 1 package main 2 3 type C chan int 4 5 func F(c C) { 6 c <- true 7 } # old error test.go:6: cannot use true (type bool) as type int in function argument # new error test.go:6: cannot use true (type bool) as type int in channel send R=rsc, ejsherry CC=golang-dev https://golang.org/cl/3231042 --- diff --git a/src/cmd/gc/typecheck.c b/src/cmd/gc/typecheck.c index 919d99ecf7..70464a4b76 100644 --- a/src/cmd/gc/typecheck.c +++ b/src/cmd/gc/typecheck.c @@ -656,6 +656,7 @@ reswitch: r = n->right; if((t = r->type) == T) goto error; + r = assignconv(r, l->type->type, "send"); // TODO: more aggressive n->etype = 0; n->type = T;