1
0
Fork 0

Adding upstream version 0.0~git20250520.a1d9079+dfsg.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-05-24 19:46:29 +02:00
parent 590ac7ff5f
commit 20149b7f3a
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
456 changed files with 70406 additions and 0 deletions

69
bind/testdata/interfaces.go vendored Normal file
View file

@ -0,0 +1,69 @@
// Copyright 2014 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.
package interfaces
type I interface {
Rand() int32
}
type SameI interface {
Rand() int32
}
type LargerI interface {
Rand() int32
AnotherFunc()
}
func Add3(r I) int32 {
return r.Rand() + r.Rand() + r.Rand()
}
// chosen by fair dice roll.
// guaranteed to be random.
type seven struct{}
func (seven) Rand() int32 { return 7 }
func Seven() I { return seven{} }
type WithParam interface {
HasParam(p bool)
}
type Error interface {
Err() error
}
func CallErr(e Error) error {
return e.Err()
}
// not implementable
type I1 interface {
J()
H() *seven // not bound
}
// not implementable
type I2 interface {
f()
G()
}
// implementable
// (the implementor has to find a source of I1s)
type I3 interface {
F() I1
}
// not bound
func F() seven { return seven{} }
func G(u seven) {}
// Interfaces is an interface with the same name as its package.
type Interfaces interface {
SomeMethod()
}