On 9/2/2016 9:14 PM, Manu via Digitalmars-d wrote:
They're not solutions though, they're workarounds. They're all
problematic, and highly unsavoury.
What makes them problematic or highly unsavory? I thought #4 in particular was
rather cool, I plan to use it as an example.
Nobody is gonna go "oh, i really wish i could do those things in
C++!", because the problem is already solved :/
ADL has the problems I provided a link to.
In any case, these difficulties are the consequence of trying to write C++ code
in D. None of the algorithms used in std.algorithm or elsewhere in Phobos have
this particular issue. Nor have I seen ADL supported in any other language,
despite many supporting generic algorithms.
I do understand trying to write C++ code in D, because my early FORTRAN programs
looked like BASIC, my early C programs looked like FORTRAN, my C++ code looked
like C, etc.
What I have provided is a generic way to make ADL work in D, which shows how
adaptable it is.