I think the problem is in the fact that the .. iterator returns the same type
of its upper bound:
import typetraits
proc foo(ci: cint) = discard
let n : int32 = 1
for i in 0..<n:
echo type(i).name
foo(i)
for i in 0..<1:
echo type(i).name
the doc says:
> iterator ..[S, T](a: S; b: T): T {..}
I expect the example Stefan_Salewski posted to compile everywhere simply
because he always used cint
