[D2] How to not full closure?

Koroskin Denis 2korden at gmail.com
Mon Jul 14 11:39:38 PDT 2008


On Mon, 14 Jul 2008 19:35:53 +0400, Mike <vertex at gmx.at> wrote:

> On Mon, 14 Jul 2008 04:39:58 +0200, davidl <davidl at 126.com> wrote:
>
>> it's better to introduce a new keyword, closure.
>>
>> there
>>
>> on heap:
>> closure t = {
>>    // my closure
>>    return 3;
>> }
>>
>> on stack:
>> delegate t = {
>>    retirm 3;
>> }
>
> Wouldn't it suffice to overload the new keyword?
>
> heap:
>
> delegate t = new { return 3; }
>
> stack:
>
> delegate t = { return 3; }
>
> That way it could work with delegate literals too:
>
> int b = 3;
> foo(new { return b; });
>
> -Mike
>
>

Shouldn't it be heap-allocated by default? I prefer scope keywork reuse :)



More information about the Digitalmars-d mailing list