September 20, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11073

           Summary: Move semantics not respected
           Product: D
           Version: D2
          Platform: x86
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: andrea.9940@gmail.com


--- Comment #0 from andrea.9940@gmail.com 2013-09-20 05:08:41 PDT ---
DMD version: 2.063.2

Code: http://pastebin.com/sTLhnNdV

Output:
CTor A with 42
CTor A with 23
CTor A with 65
Value call with A::65
DTor A with 65
CTor A with 1337
Value call with A::1337
DTor A with 1337
Ref call with A::42
DTor A with 23
DTor A with 42

Disassembly: http://pastebin.com/5emmwqJc
Compilation flags: -release -O

Issue:
The first two value calls receive their arguments via move semantics, i.e. the
argument is not copied but passed directly to the function.
This behavior is showed in the output (the postblit function is not called) but
the disassembly shows that the struct is actually copied before the function
call.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 20, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11073


rswhite4@googlemail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rswhite4@googlemail.com


--- Comment #1 from rswhite4@googlemail.com 2013-09-20 11:42:14 PDT ---
If that is fixed, there could be a huge performance boost.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------