GC.malloc is pure - wat

deadalnix via Digitalmars-d digitalmars-d at puremagic.com
Fri Apr 24 10:07:18 PDT 2015


On Friday, 24 April 2015 at 15:43:17 UTC, anonymous wrote:
> On Friday, 24 April 2015 at 15:21:43 UTC, Steven Schveighoffer 
> wrote:
>> This is OK as long as f is *strong* pure. D pure is not the 
>> same as the traditional definition.
>>
>> And GC.malloc is not strong pure, as it returns mutable data.
>
> Ah, this is the piece I was missing. I was aware of weak/strong 
> pure, but I didn't know the return type plays a role in that.
>
> Could core.stdc.stdlib.malloc and friends also be marked pure 
> then?

No.

Allocating on the GC is "stateless" as the GC will handle the 
state by itself, from the program perspective, there is no state 
to maintain.

malloc require free, and the state management is pushed on the 
application rather than the runtime. It is not pure.


More information about the Digitalmars-d mailing list