In this example 
    
    
    proc test(names:varargs[string]) =
      for n in names:
        echo n
      echo "----"
    
    test "hello", "world"
    test @["hello", "world"]
    
    
    Run

both calls work. The first call passes string arguments, they are implicitly 
converted to an `openArray` for the `varargs` proc as usual. Looking at the 
second call, the compiler thinks that you already did that conversion because 
it gets a `seq`, which is an `openArray`. So for the last call in your example, 
the compiler cannot decide whether you are trying to call the first proc with 
one argument or the second proc with two arguments. 

Reply via email to