Array literals are weird.
russhy
russhy at gmail.com
Sun May 2 13:10:46 UTC 2021
On Sunday, 2 May 2021 at 05:57:02 UTC, evilrat wrote:
> On Saturday, 1 May 2021 at 19:49:51 UTC, russhy wrote:
>> On Saturday, 1 May 2021 at 12:22:50 UTC, evilrat wrote:
>>> On Saturday, 1 May 2021 at 11:50:27 UTC, Adam D. Ruppe wrote:
>>>>
>>>> or you can use the library `.staticArray` thing to expressly
>>>> indicate your intention on the original foo
>>>>
>>>> foo([1,2,3].staticArray);
>>>>
>>>>
>>>
>>> Is there one in Phobos? Anyway this works, but maybe it can
>>> be made more type safe with constraints or just with improved
>>> symtax.
>>>
>>> ```d
>>> // compiles with -vgc and -betterC (weird, also without
>>> import stdc.core.stdio)
>>> import std.range : ElementType;
>>>
>>> template staticArray(alias T)
>>> {
>>> enum ElementType!(typeof(T))[T.length] staticArray = T;
>>> }
>>>
>>> extern(C) void main()
>>> {
>>> import core.stdc.stdio;
>>> auto arr = staticArray!([1,2,3]);
>>> pragma(msg, typeof(arr)); // int[3]
>>> foreach(i; arr)
>>> printf("%d\n", i);
>>> }
>>> ```
>>
>>
>> don't you realize something is weird?
>>
>> someone is asking to be able to do auto a = [1, 2, 3]
>>
>> and you propose a template?
>>
>> this is asking people to look for alternative language
>>
>> auto a = new[1,2,3] <== this should be allocated array
>> auto a = [1,2,3] <== this should be static array
>>
>> let's fix that, shall we? instead of telling people to bloat
>> their files with templates
>
> You see only what you wanted to see.
>
> Let me clarify something.
> That code proves that unlike it was stated "array type
> information is gone" it actually isn't, which this code proves.
> It provides workaround just is case.
> I'm not forcing anyone to use it, and there is simpler solution
> (still a template one) in phobos.
> And finally, I haven't said anything like "D DONT NEED THIS,
> STFU AND USE HACKS".
>
> But after recent discussion you seem to trigger just by seeing
> my posts. No thanks I don't need any stalkers following me
> around.
i'm not stalking you, i don't even read the user name when i
reply to messages, i focus on their content
today is you, yesterday it was another person, tomorow will
probably be another person, that's the way it is, i find things
that annoys me, i reply
nobody else seems to be "triggered" by the need of such
"workaround", i decided it would be me
More information about the Digitalmars-d
mailing list