namespace ns { int a = 1; } typedef thing1 = int; typedef thing2 = (int x); typedef thing3 = (int next_element); namespace thing4 { typedef here = (int x); bool next_element(int wrong); } () test() { /* ERRORS */ for int a in [:true, :false] as bool#[2] { } for int b in none { } for xx c in [1,2,3] {} for int d in nonexistant {} for int e in :true {} for int f in ns {} for int g in thing1 {} for int h in thing2 {} for int i in thing3 {} for int j in thing4 {} for int # in [1,2,3] {} for int # in :int {} for int loopvar in [1,2,3] {} /* ERRORS variables not available here */ var int zz = loopvar; }