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

Created on 2026-04-09.00:00:00 last changed 2 weeks ago

Messages

Date: 2026-04-25.07:23:34

Suggested resolution:

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-04-25 07:23:34adminsetmessages: + msg8552
2026-04-09 00:00:00admincreate