Why is this allowed

Nathan S. no.public.email at example.com
Wed Jul 1 15:57:24 UTC 2020


On Tuesday, 30 June 2020 at 16:22:57 UTC, JN wrote:
> Spent some time debugging because I didn't notice it at first, 
> essentially something like this:
>
> int[3] foo = [1, 2, 3];
> foo = 5;
> writeln(foo);   // 5, 5, 5
>
> Why does such code compile? I don't think this should be 
> permitted, because it's easy to make a mistake (when you wanted 
> foo[index] but forgot the []). If someone wants to assign a 
> value to every element they could do foo[] = 5; instead which 
> is explicit.

What's your opinion on using that syntax in the initial 
declaration, like `float[16] foo = 0`?


More information about the Digitalmars-d-learn mailing list