Nested template arguments

Alex sascha.orlov at gmail.com
Wed Aug 22 14:48:57 UTC 2018


On Wednesday, 22 August 2018 at 14:30:39 UTC, XavierAP wrote:
> Why
>
> 	foo!bar!x
>
> is not understood as
>
> 	foo!(bar!x)
>
> but instead gives an error "multiple ! arguments are not 
> allowed"?
> Precisely because multiple "!" can never belong to the same 
> instantiation, why does the parser not understand without 
> needing brackets that the rightmost template should be nested 
> as the argument for the next one to the left?

Because it could be meant as the argument to some templates to 
the left. Like
(foo!bar)!x

Sure, it would be a coincidence, if both will work. However, 
templates are not something where you can simply imply the 
associative property, I think.


More information about the Digitalmars-d-learn mailing list