I dun a DIP, possibly the best DIP ever

Steven Schveighoffer schveiguy at gmail.com
Thu Apr 23 19:27:31 UTC 2020


On 4/23/20 3:02 PM, Stefan Koch wrote:
> On Thursday, 23 April 2020 at 18:57:04 UTC, Steven Schveighoffer wrote:
>> On 4/23/20 2:18 PM, Stefan Koch wrote:
>>> [...]
>>
>> The question is whether the expanded inner expression is considered a 
>> tuple for expansion later or not.
>>
>> alias tuple1 = AliasSeq!(1, 2, 3);
>> alias tuple2 = AliasSeq!(4, 5, 6);
>> pragma(msg, [AliasSeq!(tuple1..., tuple2)...]);
>>
>> If it expands tuple1 first, then expands tuple 2 without re-expanding 
>> the result of tuple1..., then it should be:
>>
>> [1, 2, 3, 4, 1, 2, 3, 5, 1, 2, 3, 6]
>>
>> If it expands both tuple1 and tuple2 together, it should be:
>>
>> [1, 4, 2, 5, 3, 6]
>>
> 
> It's the latter.
> you cannot re-expand.

Those 2 are contradictory statements.

If it's the latter, then tuple1... is expanded to a tuple that is then 
used in the outer expansion.

-Steve


More information about the Digitalmars-d mailing list