Title
Notional template parameters introduced for an array parameter
Status
tentatively ready
Section
13.10.3.2 [temp.deduct.call]
Submitter
Brian Bi

Created on 2026-04-09.00:00:00 last changed 1 week ago

Messages

Date: 2026-05-20.07:01:56

Proposed resolution (approved by CWG 2026-05-19):

Change in 13.10.3.2 [temp.deduct.call] paragraph 1 as follows:

... If removing references and cv-qualifiers from P gives std::initializer_list<P'> or P'[N] for some P' and N and the argument is a non-empty initializer list (9.5.5 [dcl.init.list]), then deduction is instead performed instead for each element of the initializer list independently, taking P' as separate function template parameter types P'i and the ith initializer element as the corresponding argument as if each element of the initializer list were the argument for a separate parameter having type P'. ...
Date: 2026-04-09.00:00:00

(From submission #883.)

Subclause 13.10.3.2 [temp.deduct.call] paragraph 1 states:

... If removing references and cv-qualifiers from P gives std::initializer_list<P'> or P'[N] for some P' and N and the argument is a non-empty initializer list (9.5.5 [dcl.init.list]), then deduction is performed instead for each element of the initializer list independently, taking P' as separate function template parameter types P'i and the ith initializer element as the corresponding argument. ...

There is no requirement that the deduction results for all such independent deductions agree, or be non-deduced contexts.

History
Date User Action Args
2026-05-20 07:01:56adminsetstatus: open -> tentatively ready
2026-04-25 07:23:34adminsetmessages: + msg8552
2026-04-09 00:00:00admincreate