semantic/class-singleton-non-gobject.test \
semantic/class-too-few-type-arguments.test \
semantic/class-too-many-type-arguments.test \
+ semantic/conditional-expression-incompatible.test \
semantic/conditional-expression-no-block.test \
semantic/constant-extern.test \
semantic/constant-pointer.test \
--- /dev/null
+Invalid Code
+
+void main () {
+ string foo = "foo";
+ int bar = 42;
+ var manam = true ? foo : bar;
+}
value_type = false_expression.value_type.copy ();
} else {
error = true;
- Report.error (condition.source_reference, "Incompatible expressions");
+ var source_reference = new SourceReference (true_expression.source_reference.file, true_expression.source_reference.begin, false_expression.source_reference.end);
+ Report.error (source_reference, "Cannot resolve target type from `%s' and `%s'".printf (true_expression.value_type.to_prototype_string (), false_expression.value_type.to_prototype_string ()));
return false;
}