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
[Moved to DR at the October, 2012 meeting.]
Although a reinterpret_cast is prohibited in a constant expression, casting to and from void* can achieve the same effect.
Proposed resolution (August, 2011):
Change 7.7 [expr.const] paragraph 2 as follows:
an lvalue-to-rvalue conversion (7.3.2 [conv.lval]) unless it is applied to...
an lvalue-to-rvalue conversion (7.3.2 [conv.lval]) that is applied to a glvalue of type cv1 T that refers to an object of type cv2 U, where T and U are neither the same type nor similar types (7.3.6 [conv.qual]);
an lvalue-to-rvalue conversion (7.3.2 [conv.lval]) that is applied to a glvalue that refers to a non-active member...
Note, January, 2012:
Additional discussion has occurred, so this issue has been returned to "review" status to allow further consideration.
Proposed resolution (February, 2012):
Change 7.7 [expr.const] paragraph 2 as follows:
...
an id-expression that refers to a variable or data member of reference type unless...
a conversion from type cv void * to a pointer-to-object type;
a dynamic cast (7.6.1.7 [expr.dynamic.cast]);
...