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

Jiang An <de34 at live dot cn> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |de34 at live dot cn

--- Comment #1 from Jiang An <de34 at live dot cn> ---
Looks like a duplicate of Bug 104850 to me.

GCC cares about the difference between direct/copy of initialization, not
whether list-initialization or not (however, it's unfortunately that
direct-non-list-initialization can't be used).

> In case c, the rejection seems to me to be correct, since here the temporary
> value must be destroyed by a destructor call.

I don't see why there's even a temporary value since C++17. The prvalue is used
to initialize the data member (via temporary materialization). The potential
invocation of destructor should be in the body of constructors.

Reply via email to