On Tue, Dec 22, 2020 at 10:15 PM Andre Pany via Digitalmars-d-learn < digitalmars-d-learn@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.