modernc.org/gc@v1.0.1-0.20240304020402-f0dba7c97c2b/testdata/errchk/test/fixedbugs/issue4468.go (about) 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 9 package p 10 11 type T int 12 13 func (t *T) F() T { 14 return *t 15 } 16 17 type S struct { 18 t T 19 } 20 21 func 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 }