Fixes bug 652549.
ccode.open_block ();
var collection_backup = stmt.collection_variable;
- var collection_type = collection_backup.variable_type.copy ();
+ var collection_type = collection_backup.variable_type;
var array_type = collection_type as ArrayType;
if (array_type != null) {
// avoid assignment issues
+ array_type.inline_allocated = false;
array_type.fixed_length = false;
}
control-flow/foreach.vala \
control-flow/switch.vala \
control-flow/sideeffects.vala \
+ control-flow/bug652549.vala \
enums/enums.vala \
structs/structs.vala \
structs/gvalue.vala \
--- /dev/null
+void main () {
+ int foo[2] = {1,1};
+ foreach (var bar in foo) {
+ assert (bar == 1);
+ }
+}
context.analyzer.current_symbol = context.analyzer.current_symbol.parent_symbol;
- collection_variable = new LocalVariable (collection_type, "%s_collection".printf (variable_name));
+ collection_variable = new LocalVariable (collection_type.copy (), "%s_collection".printf (variable_name));
add_local_variable (collection_variable);
collection_variable.active = true;