Title
Deduction failure vs “ill-formed, no diagnostic required”
Status
cd3
Section
13.10.3 [temp.deduct]
Submitter
John Spicer

Created on 2012-02-08.00:00:00 last changed 130 months ago

Messages

Date: 2013-04-15.00:00:00

[Moved to DR at the April, 2013 meeting.]

Date: 2012-10-15.00:00:00

Proposed resolution (October, 2012):

Change 13.10.3 [temp.deduct] paragraph 8 as follows:

If a substitution results in an invalid type or expression, type deduction fails. An invalid type or expression is one that would be ill-formed, with a diagnostic required, if written using the substituted arguments. [Note: If no diagnostic is required, the program is still ill-formed. Access checking is done as part of the substitution process. —end note] Only invalid types and expressions...
Date: 2012-11-03.00:00:00

The relationship between errors that render a program ill-formed but for which no diagnostic is required and things that cause deduction failure is not clearly specified. Presumably failures that need not be diagnosed cannot be the basis for SFINAE, lest different implementations perform deduction differently depending on how thoroughly they handle such cases. This should be spelled out explicitly.

History
Date User Action Args
2014-03-03 00:00:00adminsetstatus: drwp -> cd3
2013-10-14 00:00:00adminsetstatus: dr -> drwp
2013-05-03 00:00:00adminsetmessages: + msg4432
2013-05-03 00:00:00adminsetstatus: tentatively ready -> dr
2012-11-03 00:00:00adminsetmessages: + msg4081
2012-11-03 00:00:00adminsetstatus: open -> tentatively ready
2012-02-08 00:00:00admincreate