Copy fixed_length and inline_allocated attributes from formal-target-type.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1009
methods/contains.vala \
methods/extern.vala \
methods/iterator.vala \
+ methods/parameter-fixed-array-initializer.vala \
methods/parameter-ref-array-resize.vala \
methods/prepostconditions.vala \
methods/prepostconditions-captured.vala \
--- /dev/null
+struct Bar {
+ int i;
+ double d;
+}
+
+void foo (int a[3]) {
+ assert (a[2] == 4711);
+}
+
+void bar (Bar b[3]) {
+ assert (b[2].i == 23);
+ assert (b[2].d == 47.11);
+}
+
+void main () {
+ foo ({ 23, 42, 4711 });
+
+ Bar b = { 23, 47.11 };
+ bar ({b, b, b});
+}
value_type = new ArrayType (element_type, rank, source_reference);
((ArrayType) value_type).length_type = length_type.copy ();
+ if (formal_target_type is ArrayType) {
+ ((ArrayType) value_type).fixed_length = ((ArrayType) formal_target_type).fixed_length;
+ ((ArrayType) value_type).inline_allocated = ((ArrayType) formal_target_type).inline_allocated;
+ }
value_type.value_owned = true;
if (!value_type.check (context)) {