Thread overview
[Issue 14817] [REG-master] copy("foo", "bar") std.algorithm/std.file conflict
[Issue 14817] copy("foo", "bar") std.algorithm/std.file conflict
Jul 21, 2015
Peter Alexander
Jul 21, 2015
Vladimir Panteleev
Jul 22, 2015
Peter Alexander
Jul 25, 2015
Kenji Hara
Jul 31, 2015
ag0aep6g@gmail.com
July 21, 2015
https://issues.dlang.org/show_bug.cgi?id=14817

Peter Alexander <peter.alexander.au@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |peter.alexander.au@gmail.co
                   |                            |m

--- Comment #1 from Peter Alexander <peter.alexander.au@gmail.com> ---
I see, I'll fix this as soon as I can.

I'm not understanding something though: I thought anti-hijacking rules were supposed to stop symbols from one module overloading with symbols from another? Shouldn't these two symbols be in conflict *regardless* of whether or not std.algorithm.mutation.copy had the template constraint?

--
July 21, 2015
https://issues.dlang.org/show_bug.cgi?id=14817

--- Comment #2 from Vladimir Panteleev <thecybershadow@gmail.com> ---
As I understand template constraints allow excluding functions from overload resolution if the constraints do not pass.

--
July 22, 2015
https://issues.dlang.org/show_bug.cgi?id=14817

--- Comment #3 from Peter Alexander <peter.alexander.au@gmail.com> ---
https://github.com/D-Programming-Language/phobos/pull/3509

--
July 25, 2015
https://issues.dlang.org/show_bug.cgi?id=14817

Kenji Hara <k.hara.pg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|copy("foo", "bar")          |[REG-master] copy("foo",
                   |std.algorithm/std.file      |"bar")
                   |conflict                    |std.algorithm/std.file
                   |                            |conflict

--
July 31, 2015
https://issues.dlang.org/show_bug.cgi?id=14817

ag0aep6g@gmail.com changed:

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

--
September 18, 2015
https://issues.dlang.org/show_bug.cgi?id=14817

github-bugzilla@puremagic.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--
September 18, 2015
https://issues.dlang.org/show_bug.cgi?id=14817

--- Comment #4 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/1e7246b20128efc94dd7525bdbb58e8ee171ca5e Fix Issue 14817 - std.algorithm.copy/std.file.copy conflict

https://github.com/D-Programming-Language/phobos/pull/2799 introduced a regression, which prevented module that imported both std.algorithm and std.file to use unqualified calls to copy(string, string). The regression was caused by the removal of template constraints, which were preventing the std.algorithm copy from being considered for overload resolution.

std.algorithm.copy has two paths: an path for array copies, and a path for all other copies. Previously they were forked using static if inside function. Now the decision is made using template constraints.

https://github.com/D-Programming-Language/phobos/commit/f9a6e0b0dd249b8c36820920ae848a3966699352 Add test for issue 14817

https://github.com/D-Programming-Language/phobos/commit/edc405cacd1a60c3e09236bc8b2cca39b271e6b3 Merge pull request #3649 from DmitryOlshansky/poita--issue14817

[REG master] Issue14817 std.algorithm.copy/std.file.copy conflict

--
October 04, 2015
https://issues.dlang.org/show_bug.cgi?id=14817

--- Comment #5 from github-bugzilla@puremagic.com ---
Commits pushed to stable at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/1e7246b20128efc94dd7525bdbb58e8ee171ca5e Fix Issue 14817 - std.algorithm.copy/std.file.copy conflict

https://github.com/D-Programming-Language/phobos/commit/f9a6e0b0dd249b8c36820920ae848a3966699352 Add test for issue 14817

https://github.com/D-Programming-Language/phobos/commit/edc405cacd1a60c3e09236bc8b2cca39b271e6b3 Merge pull request #3649 from DmitryOlshansky/poita--issue14817

--