On Friday, 27 July 2018 at 10:17:21 UTC, Yuxuan Shui wrote:
First, it surprised me that I can't index a struct like that.
So:
struct A(T...) {
alias S = T;
alias S this;
}
alias B = A!(int, double);
B[0] x; // Actually an array
Then, it surprised me again, that I actually can index it,
sometimes
static if (!is(B[0] == B[1]))
pragma(msg, "Works!");
Why is this language like this :(
Oh no, is it just defining arrays in the is() statement, though?
But wait, this works:
alias C = A!(1,2,3);
static if (C[0] < C[1])
pragma(msg, "Ha!");