discard """ output: ''' 10 true true true false false true false false i == 2 ''' """ block tbreak: var x = false run = true while run: run = false block myblock: if true: break echo "leaving myblock" x = true doAssert(x) # bug #1418 iterator foo: int = for x in 0 .. 9: for y in [10,20,30,40,50,60,70,80,90]: yield x + y for p in foo(): echo p break iterator permutations: int = yield 10 for p in permutations(): break # regression: proc main = for x in [true, false]: for y in [true, false]: echo x, " ", y main() block tcontinue: var i = 0 while i < 400: if i == 10: break elif i == 3: inc i continue inc i var f = "failure" var j = 0 while j < 300: for x in 0..34: if j < 300: continue if x == 10: echo "failure: should never happen" break f = "came here" break if i == 10: doAssert f == "came here" else: echo "failure" block tnestif: var x, y: int x = 2 if x == 0: write(stdout, "i == 0") if y == 0: writeLine(stdout, x) else: writeLine(stdout, y) elif x == 1: writeLine(stdout, "i == 1") elif x == 2: writeLine(stdout, "i == 2") else: writeLine(stdout, "looks like Python") #OUT i == 2