On Thu, 04 Jul 2013 05:25:30 -0400, Regan Heath <re...@netmail.co.nz>
wrote:
On Wed, 03 Jul 2013 19:10:40 +0100, bearophile
<bearophileh...@lycos.com> wrote:
Telling apart the literal for an empty array from the literal of a
empty but not null array is a bad idea that muds the language. And
thankfully this currently fails:
void main() {
int[] emptyArray = [];
assert(emptyArray !is null);
}
As this comes up often you're probably aware that there are people (like
myself) who find the distinction between a null (non-existant) array and
an empty array useful.
Nobody questions that. The biggest problem is making if(arr) mean
if(arr.ptr) instead of if(arr.length)
What [] returns should not be an allocation. And returning null is a
reasonable implementation of that.
-Steve