The ownership transfer of items in `GLib.GenericArray` and `Gee.ArrayList` doesn't work
It doesn't support to use key word owned
to transfer ownership of items in GLib.GenericArray
and Gee.ArrayList
like arrays.
// string[] works while GenericArray<string> and Gee.ArrayList<string> fails
void main () {
var generic_array = new GenericArray<string> ();
generic_array.add ("hello");
string[] array = {"hello"};
var array_list = new Gee.ArrayList<string> ();
array_list.add ("hello");
var a = (owned) array[0];
print ("%s\n", a);
var b = (owned) array_list[0];
print ("%s\n", b);
var c = (owned) generic_array[0];
print ("%s\n", c);
}
Compile error:
/home/wszqkzqk/projects/vala-tests/test-array-ownership.vala:15.21-15.33: error: The expression `Gee.ArrayList<string>' does not denote an array
/home/wszqkzqk/projects/vala-tests/test-array-ownership.vala:18.21-18.36: error: The expression `GLib.GenericArray<string>' does not denote an array
Edited by Zhou Qiankang