// 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() }