Qualification conversion for pointer-to-member handler matching
14.4 [except.handle]
David Majnemer

Created on 2015-03-06.00:00:00 last changed 49 months ago


Date: 2015-10-15.00:00:00

Notes from the October, 2015 meeting:

This resolution should not be adopted as a Defect Report, only a change in the working paper for future revisions of the Standard, because it could silently change the behavior of well-defined programs in implementations that conform to the existing wording.

Date: 2015-10-15.00:00:00

Proposed resolution (October, 2015):

Change 14.4 [except.handle] bullet 3.3 as follows:

A handler is a match for an exception object of type E if

  • ...

  • the handler is of type cv T or const T& where T is a pointer or pointer to member type and E is a pointer or pointer to member type that can be converted to T by either or both of

    • a standard pointer conversion (7.3.12 [conv.ptr]) not involving conversions to pointers to private or protected or ambiguous classes

    • a qualification conversion (7.3.6 [conv.qual]), or

  • the handler is...

Date: 2016-02-15.00:00:00

[Adopted at the February, 2016 meeting.]

The criteria for matching an exception handler in 14.4 [except.handle] paragraph 3 include a qualification conversion for a handler of pointer or reference to pointer type but not for a handler of pointer-to-member type. However, current implementations permit such conversions.

Date User Action Args
2017-02-06 00:00:00adminsetstatus: ready -> cd4
2015-11-10 00:00:00adminsetmessages: + msg5584
2015-11-10 00:00:00adminsetmessages: + msg5583
2015-11-10 00:00:00adminsetstatus: drafting -> ready
2015-03-06 00:00:00admincreate