Returning empty array from an object method broken on vala master
Commit 18847c92 seems to have broken returning empty arrays from methods (and possibly other functions).
Eg:
public class Test : GLib.Object {
private string[] array = new string[0];
public string[] get_array() {
// succeeds
assert(this.array != null);
return this.array;
}
}
public static void main() {
Test obj = new Test();
// fails
assert(obj.get_array() != null);
}
Gives:
mjog@blanchefort:~/Projects/GNOME/geary$ valac -g obj-method-return-array.vala && gdb ./obj-method-return-array -ex run
[snip]
ERROR:obj-method-return-array.vala:16:_vala_main: assertion failed: (obj.get_array() != null)
Bail out! ERROR:obj-method-return-array.vala:16:_vala_main: assertion failed: (obj.get_array() != null)
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff7c57859 in __GI_abort () at abort.c:79
#2 0x00007ffff7e41b63 in g_assertion_message
(domain=<optimised out>, file=<optimised out>, line=<optimised out>, func=0x555555556078 <__func__.13923> "_vala_main", message=<optimised out>) at ../../../glib/gtestutils.c:2914
#3 0x00007ffff7e9eb4f in g_assertion_message_expr
(domain=0x0, file=0x555555556028 "obj-method-return-array.vala", line=16, func=0x555555556078 <__func__.13923> "_vala_main", expr=<optimised out>) at ../../../glib/gtestutils.c:2940
#4 0x00005555555557ca in _vala_main () at obj-method-return-array.vala:16
#5 0x0000555555555834 in main (argc=1, argv=0x7fffffffddf8)
at obj-method-return-array.vala:13
(gdb)