// @target: es5 function f1(x,) {} f1(1,); function f2(...args,) {} // Allowed for ambient declarations declare function f25(...args,): void; f2(...[],); // Not confused by overloads declare function f3(x, ): number; declare function f3(x, y,): string; f3(1,); f3(1, 2,); // Works for constructors too class X { constructor(a,) { } // See trailingCommasInGetter.ts set x(value,) { } } interface Y { new(x,); (x,); } new X(1,);