[Issue 3235] Function literals must be deduced as "function" or "delegate"

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Aug 8 11:57:05 PDT 2009


http://d.puremagic.com/issues/show_bug.cgi?id=3235


Andrei Alexandrescu <andrei at metalanguage.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|INVALID                     |




--- Comment #4 from Andrei Alexandrescu <andrei at metalanguage.com>  2009-08-08 11:57:05 PDT ---
(In reply to comment #2)
> This is as designed.
> 
> http://www.digitalmars.com/d/1.0/expression.html#FunctionLiteral
> "If the keywords function or delegate are omitted, it defaults to being a
> delegate."
> 
> Having the type of a function/delegate literal depend on its contents like this
> makes it hard for someone reading the code to tell which it is.  Since function
> pointers and delegates are not generally interchangeable, AISI it's desirable
> to keep their literal notations distinct.

I think type deduction should help here as much as anywhere else. If you do
want a delegate, you can always use the delegate keyword. Plus, all algorithms
in std.algorithm take an efficiency toll when used with literals. 

(Please do not mark this as resolved; I've discussed with Walter before posting
it, and he suggested I do. In general, the spec of D2 is fluid enough to not be
a strong reason for invalidating a bug report. Thanks.)

-- 
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