aboutsummaryrefslogtreecommitdiffhomepage
path: root/testdata
diff options
context:
space:
mode:
Diffstat (limited to 'testdata')
-rw-r--r--testdata/cgo/main.go9
-rw-r--r--testdata/cgo/out.txt1
2 files changed, 10 insertions, 0 deletions
diff --git a/testdata/cgo/main.go b/testdata/cgo/main.go
index 1b810a565..aac5221f4 100644
--- a/testdata/cgo/main.go
+++ b/testdata/cgo/main.go
@@ -43,6 +43,7 @@ func main() {
println("callback 1:", C.doCallback(20, 30, cb))
cb = C.binop_t(C.mul)
println("callback 2:", C.doCallback(20, 30, cb))
+ genericCallbackCall[int]()
// variadic functions
println("variadic0:", C.variadic0())
@@ -197,3 +198,11 @@ func printBitfield(bitfield *C.bitfield_t) {
println("bitfield d:", bitfield.d)
println("bitfield e:", bitfield.e)
}
+
+type Int interface {
+ int | uint
+}
+
+func genericCallbackCall[T Int]() {
+ println("callback inside generic function:", C.doCallback(20, 30, C.binop_t(C.add)))
+}
diff --git a/testdata/cgo/out.txt b/testdata/cgo/out.txt
index d5f3b1379..781187b50 100644
--- a/testdata/cgo/out.txt
+++ b/testdata/cgo/out.txt
@@ -13,6 +13,7 @@ defined expr: 9
25: 25
callback 1: 50
callback 2: 600
+callback inside generic function: 50
variadic0: 1
variadic2: 15
headerfunc: 6