Dynamic closure vs static closure
KennyTM~
kennytm at gmail.com
Sat Oct 25 02:30:50 PDT 2008
Frank Benoit wrote:
> It is great to hear that this issue is getting solved.
> How will be the now syntax?
>
> I wonder if the distinction between dynamic/static closure shall be done
> on the calling site, or the called site.
>
> void foo( void delegate() dg ){
> }
> // -or-
> void foo2( scope void delegate() dg ){
> }
>
> void bar(){
> int i;
> foo({
> i++;
> });
> // -or-
> foo( scope {
> i++;
> });
> }
>
> Because I think, the foo method/function signature has to define if the
> delegate is escaping or not. The caller might not know it.
>
> If the signature defines this, the compiler can check that and give more
> safety.
It should done on the calling site (the point where delegates are
created). Why the called function need to know if the delegate is a
closure or not? What they can do is just call the delegate.
More information about the Digitalmars-d
mailing list