On Mon, 4 May 2009 17:44:56 +0000 (UTC), d-bugm...@puremagic.com wrote:

> http://d.puremagic.com/issues/show_bug.cgi?id=2934
> schvei...@yahoo.com changed:
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>              Status|NEW                         |RESOLVED
>          Resolution|                            |INVALID
> ------- Comment #2 from schvei...@yahoo.com  2009-05-04 12:45 -------
> From posts in the newsgroup, I've determined that this bug is invalid:
> 1. Duplicating an empty array should always return a null array.  Otherwise,
> you'd have to allocate space to store 0 data bytes in order for the result to
> be non-null.
> 2. String literals have a null character implicitly appended to them by the
> compiler.  This is done to ease calling c functions.  So a string literal's
> pointer cannot be null, since it has to point to a static zero byte.
> The spec identifies specifically item 2 here:
> http://www.digitalmars.com/d/1.0/arrays.html#strings
> see the section describing "C's printf and Strings"
> I could not find a reference for item 1, but I remember reading something 
> about
> it.  Regardless of it is identified specifically in the spec or not, it is not
> a bug, as the alternative would be to allocate blocks for 0-sized arrays.

Huh??? Duplicating something should give one a duplicate.

I do not think that this is an invalid bug.

Ok, so duplicating an empty array causes memory to be allocated - so what!
I asked for a duplicate so give me a duplicate, please.

To me, the "no surprise" path is simple. Duplicating an empty array should
return an empty array. Duplicating a null array should return a null array.

Is that not intuitive?

Derek Parnell
Melbourne, Australia
skype: derek.j.parnell

Reply via email to