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.
// 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