std.allocator.allocate(0) -> return null or std.allocator.allocate(1)?

deadalnix via Digitalmars-d digitalmars-d at puremagic.com
Sun May 17 13:31:48 PDT 2015


On Sunday, 17 May 2015 at 14:13:03 UTC, Peter Alexander wrote:
> On Friday, 15 May 2015 at 16:36:29 UTC, Andrei Alexandrescu 
> wrote:
>> This is a matter with some history behind it. In C, malloc(0) 
>> always returns a new, legit pointer that can be subsequently 
>> reallocated, freed etc.
>
> Is the invariant malloc(0) != malloc(0) the only thing that 
> makes 0 a special case here?

Doesn't need to be, the spec only say it must be passable to free.


More information about the Digitalmars-d mailing list