Recent change to dmd forced everybody to use opEquals with ref arguments. That
leaves no other option than the poorly optimised one. Isn't it time to fix this
bug?

I think the more important fix is to start allowing opEquals with non-ref
arguments again. Only allowing ref arguments is ridiculous because it forces
the argument to be an lvalue, thus creating a horribly ugly inconsistency with
builtin types.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Recent change to dmd forced everybody to use opEquals with ref arguments. That
leaves no other option than the poorly optimised one. Isn't it time to fix this
bug?

I think the more important fix is to start allowing opEquals with non-ref
arguments again. Only allowing ref arguments is ridiculous because it forces
the argument to be an lvalue, thus creating a horribly ugly inconsistency with
builtin types.

http://d.puremagic.com/issues/show_bug.cgi?id=2008
Brad Roberts <braddr puremagic.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|nobody puremagic.com |braddr puremagic.com
--- Comment #6 from Brad Roberts <braddr puremagic.com> 2010-05-09 04:16:48 PDT
---
Created an attachment (id=626)
a potential patch (lots of debugging code left in for now)
This diff likely needs to be used in conjunction with the patch in bug 4149. I
haven't tested it separately to find out.
I also haven't tested it with more than the simple test case in bug 4149.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

http://d.puremagic.com/issues/show_bug.cgi?id=2008
Brad Roberts <braddr puremagic.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #626 is|0 |1
obsolete| |
--- Comment #9 from Brad Roberts <braddr puremagic.com> 2010-05-10 00:07:11 PDT
---
Created an attachment (id=627)
Enable inlining of functions with ref parameters, v2
The previous patch didn't pass the dmd test suite (still need to understand
why).
This newer patch isolates the changes to the inlining code to generate AST
closer to what would be manually written for hand inlined code. I also dropped
all of the debugging code and unrelated code cleanup. This version DOES pass
the dmd test suite.
I've also confirmed that it is NOT dependent on the patch attached to bug 4149.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

http://d.puremagic.com/issues/show_bug.cgi?id=2008
--- Comment #10 from Brad Roberts <braddr puremagic.com> 2010-05-16 18:03:11
PDT ---
Created an attachment (id=633)
add support for out parameters as well (so both ref and out)
The previous patch only added support for ref parameters. This updated patch
also includes adding support for inlining of functions that have out
parameters.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------