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

Reply via email to