Why is this allowed

tastyminerals tastyminerals at gmail.com
Tue Jun 30 21:20:06 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.

auch, that is very nasty. Thanks for posting. This is a good 
example for D gotchas.


More information about the Digitalmars-d-learn mailing list