static array with inferred size
Steven Schveighoffer
schveiguy at yahoo.com
Wed Sep 20 14:04:05 UTC 2017
On 9/20/17 1:36 AM, Andrei Alexandrescu wrote:
> On 9/19/17 8:47 PM, Steven Schveighoffer wrote:
>> This needs to happen.
>>
>> e.g.:
>>
>> char[$] arr = "hello"; // syntax up for debate, but I like this.
>>
>> I can't think of a correct way to do this that doesn't heap-allocate
>> and is DRY.
>>
>> D is so powerful, it's a huge shame it can't figure this one out.
>>
>> issue: https://issues.dlang.org/show_bug.cgi?id=481
>>
>> Fix that was merged: https://github.com/dlang/dmd/pull/3615
>>
>> And then reverted: https://github.com/dlang/dmd/pull/4373
>>
>> Maybe there was an issue with the implementation? Can it be redone?
>>
>
> The argument was it can be done trivially with a library solution.
As I said, I can't figure it out. Perhaps the triviality can be explained?
As Jonathan said, the VRP causes problems, because the compiler has more
context than a library function. There is also the concern about
needlessly generating templates and functions for every type and static
array length combination, just for an initializer.
e.g., make this work without having to specify "3":
ubyte[3] = [1, 2, 3];
Thanks.
-Steve
More information about the Digitalmars-d
mailing list