Dynamic closure vs static closure

Frank Benoit keinfarbton at googlemail.com
Sat Oct 25 01:49:58 PDT 2008


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