On Fri, Apr 24, 2020 at 12:05 AM Manu <turkeyman@gmail.com> wrote:
On Fri, Apr 24, 2020 at 12:00 AM Stefan Koch via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
On Thursday, 23 April 2020 at 13:48:54 UTC, Steven Schveighoffer
wrote:
>
> These kinds of puzzles are fun ;)
>

yeah no.

It's not fun if you have to make sure the rewrite is what people
expect.

Foo!(AliasSeq(1,2)...)... will expand to Compiler_Tuple(Foo!(1),
Foo!(2))

I don't think that's true according to the current implementation.
It will try and expand the expression `AliasSeq!(1, 2)`. there are no tuples in that expression, and no expansion will take place.

Oh no, I'm wrong. I think we have a bug there...
I don't think that should work that way, and I can see why it does; it's because our code sees the template argument as a tuple identifier to expand, and not as the expression being supplied.
I think semantic is being called eagerly somewhere that it shouldn't...