summaryrefslogtreecommitdiff
path: root/test/fixedbugs/issue8039.go
blob: b13e474d9be6ea662306140789414b17ead329a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// run

// Copyright 2014 The Go Authors.  All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// issue 8039. defer copy(x, <-c) did not rewrite <-c properly.

package main

func f(s []int) {
	c := make(chan []int, 1)
	c <- []int{1}
	defer copy(s, <-c)
}

func main() {
	x := make([]int, 1)
	f(x)
	if x[0] != 1 {
		println("BUG", x[0])
	}
}