Bypassing the postblit?

Ritu ritu at metaprogramming.net
Mon Dec 30 19:04:22 PST 2013


On Monday, 30 December 2013 at 16:10:35 UTC, Andrei Alexandrescu 
wrote:
> On 12/30/13 3:34 AM, Ritu wrote:
>>
>>> But then the source object may not be mutable. I am not a 
>>> compiler
>>> expert, but could a special case be made in D compiler for 
>>> the cases
>>> where the source struct instance is mutable and is made 
>>> available to
>>> ease such lazy initialization?
>>
>>
>> I am suggesting a DIP here.
>
> Did you take a look at http://wiki.dlang.org/DIP49 and 
> http://wiki.dlang.org/DIP53?
>
> Andrei

I have done that now. These DIPs though related, do not make the 
original object available for modification. But since DIP49 
allows qualification of postblit, I believe what I am asking for 
becomes very much possible as an extension. We just need to 
provide another overloaded "mutable" postblit that would provide 
access to the "original" as well as "copied" struct instances.

I believe this will go a long way in fixing the behavior of some 
containers like the appender too. In general it will make "lazy 
initialization" much more usable in D.

Regards
- Ritu


More information about the Digitalmars-d mailing list