On Thursday, 15 April 2021 at 19:38:04 UTC, z wrote:
I understand that it won't be possible to pinpoint the cause
without a reduced test case, but :
```D
int[] a,b,c,d,e;
void templatef(args...){/*...*/}
//...
auto seq = AliasSeq!(b,c,d);
templatef!(a,seq,e);
templatef!(a,b,c,d,e); //am i being mistaken for thinking these
two template calls should be equivalent in behavior?
```
And if not, does it mean that the problem i encountered is a
possible bug?
They're not *exactly* the same. When you write
auto seq = AliasSeq!(a, b, c);
...you are declaring a sequence of three *new* array variables
[1] and initializing them with copies of the original arrays.
It's as though you'd written:
auto seq_a = a;
auto seq_b = b;
auto seq_c = c;
alias seq = AliasSeq!(a, b, c);
If you want to refer directly to the original variables, you need
to create your sequence with `alias` instead of `auto`:
alias seq = AliasSeq!(a, b, c);
[1]
https://dlang.org/articles/ctarguments.html#type-seq-instantiation