Just stumbled upon this bug and wanted to report it. The following code does not compile:
let n = 10
for i in 0 .. < (1 shl n):
echo i
error: expected expression before ‘)’ token
HEX3Atmp_88034 = subInt(()((NU64)(1) << (NU64)(n_88003)), 1);
^
It compiles if I remove the parentheses, but then I get an unexpected result (just a zero is printed). This is because operator < has higher priority than shl. This could be a source of subtle bugs. I would at least expect the compiler to warn me about this. After all, GCC does that by default.