On Saturday, 3 August 2013 at 00:51:21 UTC, F i L wrote:
I've brought this up on here awhile ago, and many people seemed
to be against it. Which I don't agree with, since the
ambiguities it creates are easily addressed (from a design
perspective at least) and only exist so that C-style code is
usable within D. It could work like:
auto func(a, b) // auto func(A, B)(A a, B b)
auto func(int a, b) // auto func(B)(int a, B b)
auto func(int ?) // C-style: auto func(int)
Regardless of the existing merits, that would be a (massive)
breaking change, and as mentioned, it brings nothing we couldn't
do before...
Or...
auto func(auto a, auto b) // like C++14
I mean honestly, who's hand-writing a bunch of functions with
nameless params in real D code? Sure it's used for linking to
C, which is semi-common, but I think having the much cleaner
syntax available to "actual" D code makes more sense that not
having it solely for linking-to-C-in-familiar-C-style reasons.
Anytime I write the body of a function that doesn't use one of
its args, I keep the arg name empty. This implicitly documents
that the arg is unused. Many people do this in C++ too, since
msvc will flag you for not doing it anyways. So your answer your
question: "who's hand-writing a bunch of functions with nameless
params in real D code": Lot's of people, including in Phobos.