semantic/assignment-same-variable.vala \
semantic/assignment-signal-incompatible-method.test \
semantic/assignment-signal-incompatible-type.test \
+ semantic/assignment-invalid-type.test \
semantic/cast-gvalue-unsupported.test \
semantic/cast-gvariant-unsupported.test \
semantic/cast-void-not-allowed.test \
semantic/foreach-next-value-void.test \
semantic/foreach-next-void.test \
semantic/foreach-wrong-types.test \
+ semantic/initializer-invalid-type.test \
semantic/initializer-unknown-type.test \
semantic/interface-prerequisite-invalid.test \
semantic/interface-prerequisite-less-accessible.test \
Report.error (source_reference, "Assignment: Invalid assignment attempt");
return false;
}
+ } else if (ma.symbol_reference is Variable && right.value_type == null) {
+ error = true;
+ Report.error (source_reference, "Assignment: Invalid assignment attempt");
+ return false;
} else if (ma.symbol_reference is Variable) {
unowned Variable variable = (Variable) ma.symbol_reference;
unowned ArrayType? variable_array_type = variable.variable_type as ArrayType;
Report.error (source_reference, "expression type not allowed as initializer");
return false;
}
+ } else if (initializer.value_type == null) {
+ error = true;
+ Report.error (source_reference, "expression type not allowed as initializer");
+ return false;
}
if (!initializer.value_type.compatible (variable_type)) {