www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 11073] New: Move semantics not respected

reply d-bugmail puremagic.com writes:
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: -------
Sep 20 2013
parent d-bugmail puremagic.com writes:
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: -------
Sep 20 2013