Am 10.08.2010 05:21, schrieb Andrei Alexandrescu:
Chris Williams wrote:
I'm not sure whether the design of D 2.0 has stabilized as yet, but if
not,
I would like to suggest the ability to create custom block types.
[snip]
FWIW we've been talking a long time ago about a simple lowering - if the
last argument to a function is a delegate, allow moving the delegate's
body outside of the function:
fun(a, b, c) { body }
|
V
fun((a, b, c) { body });
As far as Walter and I could tell, there are no syntactical issues
created by such a lowering. But we've been wrong about that in the past
(me 10x more often than him).
Andrei
Hi,
I don't want to be inpolite but what if fun returns a delegate which
accepts a delegate and fun is overloaded (the delegate parameter is
optional):
void delegate(void delegate()) fun();
void delegate(void delegate()) fun(void delegate());
...
fun(){...} //does this result in void or void delegate(void delegate())
...
It's the same as with property if they are allowed to call with parens.
But this is a very unlikely to happen. I don't even know if delegate are
allowed to take delegate as parameters.