This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 118e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2025-11-03
I understand that the lvalue-to-rvalue conversion was removed in London. I generally agree with this, but it means that ?: needs to be fixed:
Given:
bool test;
Integer a, b;
test ? a : b;
What builtin do we use? The candidates are
operator ?:(bool, const Integer &, const Integer &)
operator ?:(bool, Integer, Integer)
which are both perfect matches.
(Not a problem in the C++11 FDIS, but misleading.)
Rationale: The description of the conditional operator in 7.6.16 [expr.cond] handles the lvalue case before the prototype is considered.