| // errorcheck | 
 |  | 
 | // Copyright 2012 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 4463: test builtin functions in statement context and in | 
 | // go/defer functions. | 
 |  | 
 | package p | 
 |  | 
 | import "unsafe" | 
 |  | 
 | func F() { | 
 | 	var a []int | 
 | 	var c chan int | 
 | 	var m map[int]int | 
 | 	var s struct{ f int } | 
 |  | 
 | 	append(a, 0)			// ERROR "not used" | 
 | 	cap(a)				// ERROR "not used" | 
 | 	complex(1, 2)			// ERROR "not used" | 
 | 	imag(1i)			// ERROR "not used" | 
 | 	len(a)				// ERROR "not used" | 
 | 	make([]int, 10)			// ERROR "not used" | 
 | 	new(int)			// ERROR "not used" | 
 | 	real(1i)			// ERROR "not used" | 
 | 	unsafe.Alignof(a)		// ERROR "not used" | 
 | 	unsafe.Offsetof(s.f)		// ERROR "not used" | 
 | 	unsafe.Sizeof(a)		// ERROR "not used" | 
 |  | 
 | 	close(c) | 
 | 	copy(a, a) | 
 | 	delete(m, 0) | 
 | 	panic(0) | 
 | 	print("foo") | 
 | 	println("bar") | 
 | 	recover() | 
 |  | 
 | 	(close(c)) | 
 | 	(copy(a, a)) | 
 | 	(delete(m, 0)) | 
 | 	(panic(0)) | 
 | 	(print("foo")) | 
 | 	(println("bar")) | 
 | 	(recover()) | 
 |  | 
 | 	go append(a, 0)			// ERROR "not used|discards result" | 
 | 	go cap(a)			// ERROR "not used|discards result" | 
 | 	go complex(1, 2)		// ERROR "not used|discards result" | 
 | 	go imag(1i)			// ERROR "not used|discards result" | 
 | 	go len(a)			// ERROR "not used|discards result" | 
 | 	go make([]int, 10)		// ERROR "not used|discards result" | 
 | 	go new(int)			// ERROR "not used|discards result" | 
 | 	go real(1i)			// ERROR "not used|discards result" | 
 | 	go unsafe.Alignof(a)		// ERROR "not used|discards result" | 
 | 	go unsafe.Offsetof(s.f)		// ERROR "not used|discards result" | 
 | 	go unsafe.Sizeof(a)		// ERROR "not used|discards result" | 
 |  | 
 | 	go close(c) | 
 | 	go copy(a, a) | 
 | 	go delete(m, 0) | 
 | 	go panic(0) | 
 | 	go print("foo") | 
 | 	go println("bar") | 
 | 	go recover() | 
 |  | 
 | 	defer append(a, 0)		// ERROR "not used|discards result" | 
 | 	defer cap(a)			// ERROR "not used|discards result" | 
 | 	defer complex(1, 2)		// ERROR "not used|discards result" | 
 | 	defer imag(1i)			// ERROR "not used|discards result" | 
 | 	defer len(a)			// ERROR "not used|discards result" | 
 | 	defer make([]int, 10)		// ERROR "not used|discards result" | 
 | 	defer new(int)			// ERROR "not used|discards result" | 
 | 	defer real(1i)			// ERROR "not used|discards result" | 
 | 	defer unsafe.Alignof(a)		// ERROR "not used|discards result" | 
 | 	defer unsafe.Offsetof(s.f)	// ERROR "not used|discards result" | 
 | 	defer unsafe.Sizeof(a)		// ERROR "not used|discards result" | 
 |  | 
 | 	defer close(c) | 
 | 	defer copy(a, a) | 
 | 	defer delete(m, 0) | 
 | 	defer panic(0) | 
 | 	defer print("foo") | 
 | 	defer println("bar") | 
 | 	defer recover() | 
 | } |