() f() { int i; int j; uint u; bool b1; bool b2; int? opt; /* ERRORS */ @i; i + j; // also ambiguous expression type i == j; i < j; i > j; b1 xor b2; not b1; compl u; u bitand u; u bitor u; u bitxor u; makeopt i; opt?; // TODO array index, dereference etc. are tricky, because reading memory could have side-effects in low-level programs }