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.

Reply via email to