From 5d132b75ef9a59da3f2613ba6e8af16933ff3aed Mon Sep 17 00:00:00 2001 From: Araq Date: Tue, 24 Mar 2015 22:35:32 +0100 Subject: [PATCH] fixes #2395 --- lib/system.nim | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/system.nim b/lib/system.nim index ff40555bf..75d1d40a6 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -1714,12 +1714,10 @@ iterator items*[T](a: set[T]): T {.inline.} = ## iterates over each element of `a`. `items` iterates only over the ## elements that are really in the set (and not over the ones the set is ## able to hold). - var i = low(T) - if i <= high(T): - while true: - if i in a: yield i - if i >= high(T): break - inc(i) + var i = low(T).int + while i <= high(T).int: + if T(i) in a: yield T(i) + inc(i) iterator items*(a: cstring): char {.inline.} = ## iterates over each item of `a`.