Bug 11073 – Move semantics not respected

Status
NEW
Severity
normal
Priority
P3
Component
dmd
Product
D
Version
D2
Platform
x86
OS
All
Creation time
2013-09-20T05:08:41Z
Last change time
2024-12-13T18:11:41Z
Assigned to
No Owner
Creator
badlink
Moved to GitHub: dmd#18674 →

Comments

Comment #0 by andrea.9940 — 2013-09-20T05:08:41Z
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.
Comment #1 by rswhite4 — 2013-09-20T11:42:14Z
If that is fixed, there could be a huge performance boost.
Comment #2 by robert.schadek — 2024-12-13T18:11:41Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18674 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB