Thread overview
[Issue 17415] std.conv.emplace does not forward arguments correctly
May 20, 2017
Stanislav Blinov
Oct 03, 2017
Eduard Staniloiu
Oct 04, 2017
Eduard Staniloiu
Feb 18, 2021
kinke
Aug 04, 2021
kinke
May 20, 2017
https://issues.dlang.org/show_bug.cgi?id=17415

--- Comment #1 from Stanislav Blinov <stanislav.blinov@gmail.com> ---
Obviously, should be:

emplace!C(holder, S.init);

--
October 03, 2017
https://issues.dlang.org/show_bug.cgi?id=17415

Eduard Staniloiu <edi33416@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |edi33416@gmail.com
           Assignee|nobody@puremagic.com        |edi33416@gmail.com

--
October 04, 2017
https://issues.dlang.org/show_bug.cgi?id=17415

--- Comment #2 from Eduard Staniloiu <edi33416@gmail.com> ---
I might be wrong, but since you are disabling the postblit wouldn't you want to define the class ctor as:

class C
{
    this(const ref S) { /* magic */ }
}

--
October 16, 2017
https://issues.dlang.org/show_bug.cgi?id=17415

Andrei Alexandrescu <andrei@erdani.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrei@erdani.com

--- Comment #3 from Andrei Alexandrescu <andrei@erdani.com> ---
S.init counts as an rvalue. We should treat it for all purposes the same as:

struct S
{
    S init();
    ...
}

The way the value is produced does not entail a copy. Then the rvalue is moved into the constructor of C, so the code is legit.

--
February 18, 2021
https://issues.dlang.org/show_bug.cgi?id=17415

kinke <kinke@gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kinke@gmx.net

--- Comment #4 from kinke <kinke@gmx.net> ---
Should be fixed by https://github.com/dlang/druntime/pull/3352 and https://github.com/dlang/phobos/pull/7745.

--
August 04, 2021
https://issues.dlang.org/show_bug.cgi?id=17415

kinke <kinke@gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #5 from kinke <kinke@gmx.net> ---
Works since v2.096.

--