[phobos] phobos commit, revision 1930

Andrei Alexandrescu andrei at erdani.com
Thu Aug 26 10:18:25 PDT 2010


Walter, Sean, could we arrange such that capacity of static arrays 
yields zero?

Andrei

On 8/26/10 10:16 PDT, Steve Schveighoffer wrote:
> The constructor uses arr.capacity to determine how much it can append.
>
> assumeSafeAppend will ensure that arr.capacity is as large as possible, so yes,
> calling before creating the Appender will maximize the capacity, regardless of
> whether it will stomp or not.
>
> One thing that Appender will do, which is bad, but I'm not sure we need to care,
> it can be given a string literal, and then try to write over the string literal
> like this:
>
> auto app = appender("hello");
> // app.put('c'); // this would be ok
> app.clear();
> app.put('c'); // segfault on Linux
>
> I'm not sure how to get around this.  I thought of checking the heap to see if
> it owns the pointer, but then you disallow useful things like using a
> stack-allocated buffer.  I think this case may be uncommon enough to not care.
>
> -Steve
>
>>
>> From: David Simcha<dsimcha at gmail.com>
>> To: Discuss the phobos library for D<phobos at puremagic.com>
>> Sent: Thu, August 26, 2010 1:10:31 PM
>> Subject: Re: [phobos] phobos commit, revision 1930
>>
>> Nice work.  One small question/possible feature request, though:  Will calling
>> assumeSafeAppend() on an array before constructing an Appender using it prevent
>
>> it from being reallocated on the first append?  If not, can Appender have some
>> kind of assumeSafeAppend workaround in it?
>
>
>
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos


More information about the phobos mailing list