bool bbb; int A[10]; void f(int p1, bool p2) { } void main() { int aaa; // some errors involving illegal operations on functions aaa = f + f; bbb = f == 3; bbb = f > main; bbb = f == f; // some errors involving bad function calls aaa(); f(); f(5); f(aaa, aaa); f(A[true], aaa); A(); // some errors involving arrays A = 5; A = A; A["hello"] = 2; A[0] = true || 3; bbb = A && A[0]; // error involving return return 10; // other type errors aaa = aaa + (!false); aaa = aaa + "foo"; bbb = aaa; // don't give too many or too few error messages here bbb = (aaa + true) && (bbb < true); }