W dniu 2010-08-10 05:21, Andrei Alexandrescu pisze:
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
I think it will be great to have it in language!
But what about:
unittest {
}
It could be just function call with delegate as a last parameter, but in
the context e.g. of class body it is not possible to call functions...
If there would be kind of static function call (in the context of class
body) it would be easy to add e.g. to D runtime following signatures:
unittest(void delegate() test);
unittest(string name, void delegate() test);
unittest(string name, string group, void delegate() test);
... or maybe function definition with anonymous, immutable last parameter?
Just a few thoughts...
BR
Marcin Kuszczak
(aarti_pl)