abstract class Bar: GLib.Object {
	[CCode (array_length = false, array_null_terminated = true)]
	public abstract async string[] get_string_async();
}

class Foo: Bar {
	[CCode (array_length = false, array_null_terminated = true)]
	public override async string[] get_string_async() {
		return {""};
	}
}

void main() {
	var loop = new MainLoop();
	var foo = new Foo();
	foo.get_string_async.begin((obj, res) => {
		stdout.printf("Success\n");
		loop.quit();
	});
	loop.run();
}
