Title
exception-specifications of template arguments
Status
nad
Section
14.5 [except.spec]
Submitter
Gabriel Dos Reis

Created on 2013-10-16.00:00:00 last changed 117 months ago

Messages

Date: 2015-04-13.00:00:00

Additional note, April, 2015:

EWG has decided not to make a change in this area. See EWG issue 133.

Date: 2014-02-15.00:00:00

Rationale (February, 2014):

Are template declarations that differ only in the exception-specification of the parameter redeclarations or separate templates distinguished, presumably, by deduction failure? This seems like a question more appropriate for consideration by EWG.

Date: 2022-11-20.07:54:16

Although 14.5 [except.spec] paragraphs 5-6 require that overriding a virtual function and initializing or assigning to a function pointer not weaken exception-specifications, the same is not true of providing a template argument for a template parameter. For example,

  template<void (*FP)() noexcept> void x() { }
  void f() noexcept(false);
  template void x<f>();

is currently well-formed, which seems inconsistent. (Note that if exception-specifications become part of the type system, as proposed in issue 92, this issue will become moot.)

See also issues 2010, 1995, 1975, and 1946.

History
Date User Action Args
2015-04-13 00:00:00adminsetmessages: + msg5438
2015-04-13 00:00:00adminsetstatus: extension -> nad
2014-03-03 00:00:00adminsetmessages: + msg4990
2014-03-03 00:00:00adminsetstatus: open -> extension
2013-10-16 00:00:00admincreate