On Wednesday, 3 October 2018 at 20:57:39 UTC, kinke wrote:
For DIP 1014, we (at least LDC) would most likely need to adopt the C++ ABI in this regard, i.e., always pass non-PODs by reference
Which would also help with C++ interop of course - while LDC's extern(C++) ABI was fixed wrt. passing all non-PODs by reference, the different destruction rules are still an issue (no destruction when calling a C++ function from D, and double destruction when calling an extern(C++) D function from C++).