summaryrefslogtreecommitdiff
path: root/tests/delegates/wrapper.vala
blob: 01b95188edc3905ee127a670b1458dd329d1553e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
delegate void FooFunc ([CCode (array_length = false, array_null_terminated = true)] string[] a);
delegate void BarFunc (owned FooFunc func);

void foo (string[] a) {
	assert (a.length == 2);
	assert (a[1] == "bar");
}

void bar (owned FooFunc func) {
	string[] ia = { "foo", "bar" };
	func (ia);
}

void main () {
	FooFunc f = foo;
	BarFunc b = bar;
	b ((owned) f);
}