summaryrefslogtreecommitdiff
path: root/test/fixedbugs/issue9521.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2015-05-11 16:12:01 -0400
committerRuss Cox <rsc@golang.org>2015-05-12 16:26:35 +0000
commit3f209abb2954bfb89e3dbd28ed0a622a6fe33242 (patch)
tree96db8390cc58679eaee6d90ad17325f43a10b13a /test/fixedbugs/issue9521.go
parent29dc4b40f85fdb0985eea3e718385dc3c6cd22b7 (diff)
downloadgo-git-3f209abb2954bfb89e3dbd28ed0a622a6fe33242.tar.gz
cmd/internal/gc: detect bad append(f()) during type check
Today's earlier fix can stay, but it's a band-aid over the real problem, which is that bad code was slipping through the type checker into the back end (and luckily causing a type error there). I discovered this because my new append does not use the same temporaries and failed the test as written. Fixes #9521. Change-Id: I7e33e2ea15743406e15c6f3fdf73e1edecda69bd Reviewed-on: https://go-review.googlesource.com/9921 Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'test/fixedbugs/issue9521.go')
-rw-r--r--test/fixedbugs/issue9521.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/test/fixedbugs/issue9521.go b/test/fixedbugs/issue9521.go
index 51b5204e7a..ef0a5a6547 100644
--- a/test/fixedbugs/issue9521.go
+++ b/test/fixedbugs/issue9521.go
@@ -9,8 +9,10 @@
package main
-func f() (_, _ []int) { return }
+func f() (_, _ []int) { return }
+func g() (x []int, y float64) { return }
func main() {
- _ = append(f()) // ERROR "cannot use _"
+ _ = append(f()) // ERROR "cannot append \[\]int value to \[\]int"
+ _ = append(g()) // ERROR "cannot append float64 value to \[\]int"
}