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

Reply via email to