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...