basic-types/bug729907.vala \
basic-types/bug731017.vala \
basic-types/bug761307.vala \
+ basic-types/bug761736.vala \
basic-types/bug771626.test \
basic-types/bug777697.test \
namespaces.vala \
--- /dev/null
+const string[] FOO = { "foo", "bar" };
+
+unowned string[] transfer_none () {
+ return FOO;
+}
+
+(unowned string)[] transfer_container () {
+ return FOO;
+}
+
+string[] transfer_full () {
+ return FOO;
+}
+
+void main () {
+ var bar = FOO;
+
+ for (int i = 0; i < 42; i++) {
+ string[] baz = bar;
+ }
+
+ for (int i = 0; i < 42; i++) {
+ unowned string[] a = transfer_none ();
+ assert ("foo" in a);
+ assert ("bar" in a);
+ }
+
+ for (int i = 0; i < 42; i++) {
+ (unowned string)[] a = transfer_container ();
+ assert ("foo" in a);
+ assert ("bar" in a);
+ }
+
+ for (int i = 0; i < 42; i++) {
+ string[] a = transfer_full ();
+ assert ("foo" in a);
+ assert ("bar" in a);
+ }
+
+ assert ("foo" in FOO);
+ assert ("bar" in FOO);
+}