On 27 November 2012 03:56, Walter Bright <span dir="ltr"><<a href="mailto:newshound2@digitalmars.com" target="_blank">newshound2@digitalmars.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 11/27/2012 4:30 AM, Manu wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
    template isEnum(alias T) if(is(T)) {<br>
</blockquote>
<br>
It isn't clear what is desired here. Given:<br>
<br>
enum E { A, B }<br>
<br>
E is the enum tag name, which is quite different from the enum members A and B. And, the enum tag name is indistinguishable from the enum type. Furthermore, an enum member is indistinguishable from an enum value. So, I suggest instead:<br>

<br>
   isEnumType<br>
<br>
and:<br>
<br>
   isEnumValue<br>
</blockquote></div><br></div><div class="gmail_extra">I accept. They seem like good names.</div><div class="gmail_extra"><br></div><div class="gmail_extra">There's another you missed:</div><div class="gmail_extra">enum X = 10;</div>
<div class="gmail_extra">I would have imagined this would be semantically identical to E.A/E.B, but the compiler seemed to view this as distinct in my experiments.</div>