1// errorcheck 2 3// Copyright 2012 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 4468: go/defer calls may not be parenthesized. 8 9package p 10 11type T int 12 13func (t *T) F() T { 14 return *t 15} 16 17type S struct { 18 t T 19} 20 21func F() { 22 go F // ERROR "must be function call" 23 defer F // ERROR "must be function call" 24 go (F) // ERROR "must be function call|must not be parenthesized" 25 defer (F) // ERROR "must be function call|must not be parenthesized" 26 go (F()) // ERROR "must be function call|must not be parenthesized" 27 defer (F()) // ERROR "must be function call|must not be parenthesized" 28 var s S 29 (&s.t).F() 30 go (&s.t).F() 31 defer (&s.t).F() 32} 33