Thread overview
[Issue 12595] dup/idup shouldn't be property functions
Apr 19, 2014
Andrej Mitrovic
Apr 24, 2014
Jonathan M Davis
Apr 26, 2014
JR
Aug 07, 2019
Andrej Mitrovic
Jan 25, 2022
Dennis
Dec 17, 2022
Iain Buclaw
April 19, 2014
https://issues.dlang.org/show_bug.cgi?id=12595

Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull
                URL|                            |https://github.com/D-Progra
                   |                            |mming-Language/druntime/pul
                   |                            |l/768
                 CC|                            |andrej.mitrovich@gmail.com
           Assignee|nobody@puremagic.com        |andrej.mitrovich@gmail.com

--
April 20, 2014
https://issues.dlang.org/show_bug.cgi?id=12595

hsteoh@quickfur.ath.cx changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hsteoh@quickfur.ath.cx

--
April 24, 2014
https://issues.dlang.org/show_bug.cgi?id=12595

Jonathan M Davis <jmdavisProg@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jmdavisProg@gmx.com

--- Comment #1 from Jonathan M Davis <jmdavisProg@gmx.com> ---
Agreed. Properties are supposed to emulate variables. That's the whole idea behind them. dup and idup don't fit that bill at all. They're clearly functions, and if you want to still call them without parens, well empty parens are optional, so you can.

--
April 26, 2014
https://issues.dlang.org/show_bug.cgi?id=12595

JR <zorael@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |zorael@gmail.com

--- Comment #2 from JR <zorael@gmail.com> ---
It's semantically ambiguous as duplicate can be both a noun and a verb.

I tend to think of .{i,}dup the noun way; something.duplicateOf; where whether the .duplicateOf property "does" something or not remains up to implementation.

In abstract: the clerk has a stack of foos and you're asking for a .dup copy, so he fetches one from the pile and hands it to you.

The opposite is naturally .duplicateThisForMe, from which perspective they shouldn't be property functions, no.

--
August 07, 2019
https://issues.dlang.org/show_bug.cgi?id=12595

Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|andrej.mitrovich@gmail.com  |nobody@puremagic.com

--
January 25, 2022
https://issues.dlang.org/show_bug.cgi?id=12595

Dennis <dkorpel@live.nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dkorpel@live.nl

--- Comment #3 from Dennis <dkorpel@live.nl> ---
dup is now an implicitly imported function in druntime, does that fix this issue? Or do you want the specification to call them something different? In that case, the same should be done for associative array properties like .byKey and .rehash.

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=12595

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P3

--