Why is (int[int] s = int[int].init) not allowed

Daniel Kozak kozzi11 at gmail.com
Tue Dec 22 22:44:18 UTC 2020


On Tue, Dec 22, 2020 at 10:15 PM Andre Pany via Digitalmars-d-learn <
digitalmars-d-learn at puremagic.com> wrote:

> Hi,
>
> I am really confused, why is this valid:
> void sample(string[string] s = string[string].init){}
>
> while this causes syntax errors?
>
> void sample_invalid1(double[string] s = double[string].init){}
> void sample_invalid2(int[int] s = int[int].init){}
>
> Kind regards
> André
>

As has been said this is an oddity in the grammar. But why would anyone
need to use this anyway?

  void sample_invalid2(int[int] s = int[int].init){}

seems really awful to me anyway.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-learn/attachments/20201222/34cc7637/attachment-0001.htm>


More information about the Digitalmars-d-learn mailing list