discard """ output: '''(1, 1) (2, 2) (3, 3) ''' """ iterator zip[T1, T2](a: openarray[T1], b: openarray[T2]): iterator() {.inline.} = let len = min(a.len, b.len) for i in 0..<len: echo (a[i], b[i]) proc foo(args: varargs[int]) = for i in zip(args,args): discard foo(1,2,3)