It seems to me that you've forgotten to say where or what is the problem. I fail to find it.
-j
You're asking to print something that simply doesn't exist. f0 doesn't
return anything, so there's no reasonable outcome out of what that
code is trying to do.
So what you are suggesting is that we add a further exception to the
spec. At the end of that paragraph in the spec, we could say "in this
case g is permitted to have no return values."
The call of f must contain no parameters other than the call of g, and g must have at least one return value. If f has a final ... parameter, it is assigned the return values of g that remain after assignment of regular parameters.
The call of f must contain no parameters other than the call of g. If f has a final ... parameter, it is assigned the return values of g that remain after assignment of regular parameters.
The idea of allowing nothing to be used as a value is flawed in several fronts..
fmt.Sprintf("%s", a(), b(), c(), d(), e()) => "Guess who I am!"
So what you are suggesting is that we add a further exception to the
spec. At the end of that paragraph in the spec, we could say "in [the case for variadic functions]
g is permitted to have no return values."