@Araq's code has an extra `it` as a return of template. Your code above is 
missing it. 
    
    
    template toFirstClassIter(x): untyped =
      iterator it(): auto {.closure.} =
        for y in x: yield y
      it
    
    
    Run

Reply via email to