Ah sorry, I didn't read your question closely enough and
pattern-matched it to a very common slice question :)
I think the relevant bit of the spec is
"If the final argument is assignable to a slice type []T, it may be
passed unchanged as the value for a ...T parameter if the argument is
followed by .... In this case no new slice is created."
Essentially, if you use f(x, y, z...) it's a very small amount of
sugar for passing a slice as the last argument of the function:
calling f(T1, ...T2) as f(x, y...) is the same if it were f(T1, []T2)
and you called it as f(x, y). So if you call it as f(x, y, z...)
you're passing in more arguments than the function takes, even if y
has type T2.
On Fri, Aug 29, 2014 at 11:31 AM, Matthew Zimmerman