diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2016-01-05 15:39:49 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2016-01-05 15:39:49 +0100 |
commit | 4d10937a30798fe41def9bf5c462d2675c872947 (patch) | |
tree | 57d316f7a176b285c1831d0f3e975d50329a8759 /tests/iter/titer10.nim | |
parent | bb8b1c3b57ff56ee2c90d366bf453c066541bc11 (diff) | |
download | Nim-4d10937a30798fe41def9bf5c462d2675c872947.tar.gz |
fixes regressions
Diffstat (limited to 'tests/iter/titer10.nim')
-rw-r--r-- | tests/iter/titer10.nim | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/iter/titer10.nim b/tests/iter/titer10.nim new file mode 100644 index 000000000..6a6afc780 --- /dev/null +++ b/tests/iter/titer10.nim @@ -0,0 +1,51 @@ +discard """ + output: '''3 +2 +5 +1 +@[@[0, 0], @[0, 1]] +@[@[0, 0], @[0, 1]] +@[@[2, 2], @[2, 3]] +@[@[2, 2], @[2, 3]]''' +""" + +when true: + # bug #2604 + + import algorithm + + iterator byDistance*[int]( ints: openArray[int], base: int ): int = + var sortable = @ints + + sortable.sort do (a, b: int) -> int: + result = cmp( abs(base - a), abs(base - b) ) + + for val in sortable: + yield val + + when isMainModule: + proc main = + for val in byDistance([2, 3, 5, 1], 3): + echo val + main() + +when true: + # bug #1527 + + import sequtils + + let thread = @[@[0, 0], + @[0, 1], + @[2, 2], + @[2, 3]] + + iterator threadUniqs(seq1: seq[seq[int]]): seq[seq[int]] = + for i in 0 .. <seq1.len: + block: + let i = i + yield seq1.filter do (x: seq[int]) -> bool: x[0] == seq1[i][0] + proc main2 = + for uniqs in thread.threadUniqs: + echo uniqs + + main2() |