On Sunday, 21 May 2017 at 14:11:00 UTC, Stanislav Blinov wrote:
On Sunday, 21 May 2017 at 13:42:50 UTC, Vladimir Panteleev
wrote:
On Sunday, 21 May 2017 at 13:08:18 UTC, Adam D. Ruppe wrote:
foo!(x)!y
I think it's the same as foo!x!y. As for the reason - I think
because the order is possibly ambiguous or something? You
could interpret it as either (foo!x)!y or foo!(x!y).
I did encounter that a few times too, and my humble opinion is
that there should not be any ambiguity, it should just be
left-to-right, i.e.:
foo!x!y is the same as (foo!x)!y, and
foo!x!y!z!w would be (((foo!x)!y)!z)!w
This is no different from
foo!x.bar, which is (foo!x).bar and not foo!(x.bar)
Allowing this will only help reduce boilerplate. If we do need
different order, we could always explicitly instantiate
beforehand.
I ran into this aswell.
Agreed, just an arbitrary restriction.