| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib/go/src/cmd/go/testdata/script/ |
Upload File : |
[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() {}