!7 sclass Bla { S ok(S s) { ret s + " " + s; } S ok(S s, S... x) { ret s + " " + joinWithComma(x); } S single(S... x) { ret joinWithComma(x); } } p-exp { assertEqualsVerbose("hello hello", call_withVarargs(new Bla, 'ok, 'hello)); assertEqualsVerbose("hello what's, up", call_withVarargs(new Bla, 'ok, 'hello, "what's", 'up)); assertEqualsVerbose("hello hello", callOpt_withVarargs(new Bla, 'ok, 'hello)); assertEqualsVerbose("hello what's, up", callOpt_withVarargs(new Bla, 'ok, 'hello, "what's", 'up)); assertNullVerbose(callOpt_withVarargs(new Bla, 'ok, "", 5)); assertEqualsVerbose("a, b", callOpt_withVarargs(new Bla, 'single, 'a, 'b)); }