diff options
author | Russ Cox <rsc@golang.org> | 2015-05-11 16:12:01 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2015-05-12 16:26:35 +0000 |
commit | 3f209abb2954bfb89e3dbd28ed0a622a6fe33242 (patch) | |
tree | 96db8390cc58679eaee6d90ad17325f43a10b13a /test/fixedbugs/issue9521.go | |
parent | 29dc4b40f85fdb0985eea3e718385dc3c6cd22b7 (diff) | |
download | go-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.go | 6 |
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" } |