1// run 2 3// Copyright 2014 The Go Authors. All rights reserved. 4// Use of this source code is governed by a BSD-style 5// license that can be found in the LICENSE file. 6 7// issue 8039. defer copy(x, <-c) did not rewrite <-c properly. 8 9package main 10 11func f(s []int) { 12 c := make(chan []int, 1) 13 c <- []int{1} 14 defer copy(s, <-c) 15} 16 17func main() { 18 x := make([]int, 1) 19 f(x) 20 if x[0] != 1 { 21 println("BUG", x[0]) 22 } 23} 24