This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 116a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-12-19
[Voted into the WP at the February, 2012 meeting; moved to DR at the October, 2012 meeting.]
The requirement that a class with a constexpr constructor cannot have a virtual base only applies to constructors with non-deleted and non-defaulted function-bodys. This seems like an oversight.
Proposed resolution (August, 2011):
Change 9.2.6 [dcl.constexpr] paragraph 4 as follows:
In aThe definition of a constexpr constructor, each of the parameter types shall be a literal type. In addition, either its function-body shall be = delete or = default or itshall satisfy the following constraints:
the class shall not have any virtual base classes;
each of the parameter types shall be a literal type;
its function-body shall not be a function-try-block;
In addition, either its function-body shall be = delete or it shall satisfy the following constraints:
either its function-body shall be = default or the compound-statement of its function-body shall contain only...