This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 115e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-11-11
[Voted into the WP at the February, 2012 meeting; moved to DR at the October, 2012 meeting.]
Consider the following example:
struct X { unsigned bitfield : 4; }; int main() { X x = { 1 }; unsigned const &ref = static_cast<X &&>(x).bitfield; }
According to 9.4.4 [dcl.init.ref] paragraph 5, ref is bound to the bit-field xvalue.
Proposed resolution (August, 2011):
Change the indicated sub-bullet of 9.4.4 [dcl.init.ref] paragraph 5 as follows:
is an xvalue (but is not a bit-field), class prvalue, array prvalue or function lvalue and “cv1 T1” is reference-compatible with “cv2 T2”, or