[Issue 7198] Delegate literals with nameless arguments fail to infer a type
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Jan 2 06:41:37 PST 2012
http://d.puremagic.com/issues/show_bug.cgi?id=7198
--- Comment #5 from Alex Rønne Petersen <xtzgzorex at gmail.com> 2012-01-02 06:41:35 PST ---
(In reply to comment #4)
> (In reply to comment #3)
> > (I don't actually know why we have unnamed parameters at all; most modern
> > languages simply don't allow this. In addition, unused parameters in
> > delegate/function literals/lambdas sort of seems to go against the entire idea
> > with lambda functions, in the general case.)
>
> Useful situations for unnamed parameters:
>
> * Declaring a delegate type
>
> void delegate (int) dg;
But that's a type signature, not a literal.
>
> * Declaring a function/method without implementation
>
> void foo (int);
This, on the other hand, I do not like. Without a parameter name, you have to
look at the implementation to have a clue what it means. That makes the
declaration (more or less) useless.
>
> * Overriding/implementing a method where a parameter isn't needed
>
> class Foo {
> abstract void foo (int a);
> }
>
> class Bar : Foo {
> void foo (int) {}
> }
>
Point taken, though naming it _ or similar usually works.
>
> These are the situations I see it as might being useful but I would say that
> adding names to the parameters adds documentation and that's always a good
> thing.
Agreed.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list