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.

Reply via email to