what was the problem with the old post blit operator already ?

Basile B. b2.temp at gmx.com
Thu Feb 15 03:36:18 UTC 2024


On Thursday, 15 February 2024 at 03:17:11 UTC, Jonathan M Davis 
wrote:
> On Wednesday, February 14, 2024 7:17:15 PM MST Basile B. via 
> Digitalmars-d- learn wrote:
>>  From what I remember, it was that there was no reference to 
>> the
>> source. Things got blitted and you had to fix the copy, already
>> blitted. Was that the only issue ?
>
> There were probably some use cases where you needed access to 
> both the source and the destination so that you could do 
> something to the source as well, but the core problem was 
> simply that blitting and then mutating the copy to fix it 
> doesn't work with const or immutable objects, since it would 
> violate the type system to cast away const or immutable to fix 
> the copy. The only way to work properly with const or immutable 
> is to construct the object with the changes in the first place 
> rather than mutating the copy after the fact.
>
> - Jonathan M Davis

That point was raised by Teoh too, which raises another question. 
Did the "old" postblit exist before the introduction of type 
qualifiers ? I think to D1 obviously.

That would suggest that the introduction of type qualifiers was 
not perfectly executed, i.e some aspects were not mastered, 
until, years after, someone said "wait a minute, there's 
something wrong".


More information about the Digitalmars-d-learn mailing list