I tried to define a template:

enum isFoo(alias T) =
    T.stringof.length >= 3 && T.stringof[0..3] == "abc";

int i;
pragma(msg, isFoo!i);

Error: string slice [0 .. 3] is out of bounds
Error: template object.__equals cannot deduce function from argument types !()(string, string), candidates are:
[...]

Is it normal that the condition is not short circuited at first test? Of course, I can throw there a bunch of static ifs in an eponymous template, but I don't see the point of this verbosity.



Reply via email to