This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 112e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2023-12-02


2290. Unclear specification for overload resolution and deleted special member functions

Section: 12.2.2  [over.match.funcs]     Status: CD5     Submitter: Howard Hinnant     Date: 2016-07-21

[Voted into the WP at the July, 2017 meeting.]

According to 12.2.2 [over.match.funcs] paragraph 8,

A defaulted move constructor or assignment operator (11.4.5.3 [class.copy.ctor]) that is defined as deleted is excluded from the set of candidate functions in all contexts.

It is unclear whether this is intended to apply to all defaulted assignment operators or only move assignment operators.

Proposed resolution (April, 2017):

Change 12.2.2 [over.match.funcs] paragraph 8 as follows:

A defaulted move constructor or assignment operator special function (11.4.5.3 [class.copy.ctor]) that is defined as deleted is excluded from the set of candidate functions in all contexts.