[short] skip [!cgo] skip # Test that cgo rejects attempts to declare methods # on the types C.T or *C.T; see issue #57926. ! go build stderr 'cannot define new methods on non-local type C.T' stderr 'cannot define new methods on non-local type \*C.T' ! stderr 'Alias' -- go.mod -- module example.com go 1.12 -- a.go -- package a /* typedef int T; */ import "C" func (C.T) f() {} func (recv *C.T) g() {} // The check is more education than enforcement, // and is easily defeated using a type alias. type Alias = C.T func (Alias) h() {} func (*Alias) i() {}