Adding upstream version 0.0~git20250520.a1d9079+dfsg.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
590ac7ff5f
commit
20149b7f3a
456 changed files with 70406 additions and 0 deletions
69
bind/testdata/interfaces.go
vendored
Normal file
69
bind/testdata/interfaces.go
vendored
Normal 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()
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue