[Issue 20773] Excessive calls to postblit when passing structs over varargs

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Apr 26 15:16:48 UTC 2020


https://issues.dlang.org/show_bug.cgi?id=20773

Iain Buclaw <ibuclaw at gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ibuclaw at gdcproject.org

--- Comment #1 from Iain Buclaw <ibuclaw at gdcproject.org> ---
Considering this a druntime bug.  However I think the proper fix would also
involve a compiler change as well.

e.g: In the druntime implementation:

static if (!__traits(isPOD, T))
{
   // Passed by reference...
}
else
{
   // Passed by value...
}

This requires the compiler to pass the objects by invisible reference in the
first place.

--


More information about the Digitalmars-d-bugs mailing list