On Wednesday, 7 October 2020 at 16:25:33 UTC, DMon wrote:
Can isType be used as a condition in an if statement with
arrays?
import std.stdio;
import std.traits;
void main()
{
int[5] a = [1,2,3,4,5];
// Something like this:
if (a == isType!(int[5]))
{
write("true");
}
// This works:
if (a[0] == isType!(int))
{
write("true");
}
}
You can do this with `is()` and `typeof()`:
if (is(typeof(a) == int[5]))
{
write("true");
}
The example you have that "works" is just a coincidence:
`isType!(int)` evaluates to the boolean value `true` (because
`int` is, indeed, a type), which compares equal to the integer
`1`.