This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 120a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2026-07-02


3204. Restrictions on arguments for ellipsis parameter

Section: 7.6.1.3  [expr.call]     Status: open     Submitter: Brian Bi     Date: 2026-06-09

(From submission #918.)

In 7.6.1.3 [expr.call] paragraph 12, the restriction on argument types that can be passed to an ellipsis parameter is phrased in an overly convoluted way.

Furthermore, it is expected that a value of type std::meta::info can be used as an argument for the ellipsis, too.

Possible resolution:

Change in 7.6.1.3 [expr.call] paragraph 12 as follows:

... The lvalue-to-rvalue (7.3.2 [conv.lval]), array-to-pointer (7.3.3 [conv.array]), and function-to-pointer (7.3.4 [conv.func]) standard conversions are performed on the argument expression. An Then, an argument that has type cv std::nullptr_t is converted to type void* "pointer to void" (7.3.12 [conv.ptr]). After these conversions, if the argument does not have arithmetic, enumeration, pointer, pointer-to-member, or class type has type void, the program is ill-formed. ...