Commit
09e6818d01e introduced the possibility of inserting _error
labels at the end of functions, which make C compilers angry.
This "test" (no actual tests are run, just compile correctness is
checked here) triggers some of these situations.
the "test3" abstract method is trickier though, it doesn't warn
but produces code with early returns, which in practice means
possible leaks.
https://bugzilla.gnome.org/show_bug.cgi?id=778540
dbus/errors.test \
dbus/async.test \
dbus/async-errors.test \
+ dbus/enum-string-marshalling.vala \
dbus/signals.test \
dbus/filedescriptor.test \
dbus/filedescriptor-errors.test \
--- /dev/null
+[DBus (use_string_marshalling = true)]
+public enum FooEnum {
+ BAR
+}
+
+[DBus (name = "org.example.Test")]
+public interface Test : GLib.Object {
+ public abstract async void test1 (FooEnum e) throws DBusError;
+ public abstract void test2 (FooEnum e) throws DBusError;
+ public abstract void test3 (FooEnum e1, UnixOutputStream output_stream, FooEnum e2) throws DBusError;
+ //FIXME public abstract void test4 (FooEnum e);
+}
+
+void main () {
+ // We just want to ensure compile correctness here
+}