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

--- Comment #2 from namark <namark at disroot dot org> ---
(In reply to Andrew Pinski from comment #1)
> Except A() is a temp so it cannot be a lvalue.

Not sure what you mean. As I understood 'a' is the lvalue, being converted to
an rvalue by the ternary. I'm not very good with all the value categorizations
myself, the behaviour just seems wrong to me (seemingly implicit copy happening
when copy constructor is explicit), and I'm trying to make sense of it.

Reply via email to