https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70610

--- Comment #1 from Patrick Palka <ppalka at gcc dot gnu.org> ---
The problem is that during template processing we think the operand to the
unary + is an lvalue (because it's wrapped in a NON_DEPENDENT_EXPR node) and so
during overload resolution we select the non-const overload of operator+.  Then
during instantiation, since the operand is actually an rvalue we reject the
function call since it requires the operand to be an lvalue.

Reply via email to