current_method_inner_error = true;
// add &inner_error before the ellipsis arguments
out_arg_map.set (get_param_pos (-1), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, get_variable_cexpression ("_inner_error_")));
- } else if (m != null && m.has_error_type_parameter ()) {
+ } else if (m != null && m.has_error_type_parameter () && async_call != ccall) {
// inferred error argument from base method
out_arg_map.set (get_param_pos (-1), new CCodeConstant ("NULL"));
}
asynchronous/bug783543.vala \
asynchronous/bug792660.vala \
asynchronous/bug792942.vala \
+ asynchronous/bug793158.vala \
asynchronous/closures.vala \
asynchronous/generator.vala \
asynchronous/yield.vala \
--- /dev/null
+errordomain FooError {
+ BAR;
+}
+
+class Foo : Object {
+ public async bool bar () throws FooError {
+ return true;
+ }
+}
+
+MainLoop loop;
+
+void main () {
+ loop = new MainLoop ();
+ var foo = new Foo ();
+ foo.bar.begin ((o, r) => {
+ loop.quit ();
+ });
+ loop.run ();
+}