Dynamic closure vs static closure

Frank Benoit keinfarbton at googlemail.com
Sat Oct 25 01:52:04 PDT 2008


Frank Benoit schrieb:
> It is great to hear that this issue is getting solved.
> How will be the new 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 foo( 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.



More information about the Digitalmars-d mailing list