Is this a bug in __traits(hasMember..)?
    Robert Clipsham 
    robert at octarineparrot.com
       
    Tue Nov  8 14:17:15 PST 2011
    
    
  
On 08/11/2011 20:09, Tobias Pankrath wrote:
> which is very confusing to me. Guess this is a bug?
>
> Tobias
Looks like a bug to me. This works:
----
struct Bag(S...)
{
     alias S Types;
}
template Test(/*alias i,*/ B)
{
     void fn() {
         foreach(t; B.Types)
         {
             pragma(msg, t.stringof);
             pragma(msg, __traits(allMembers, t));
             pragma(msg, __traits(hasMember, t, "m"));
         }
     }
}
struct A
{
     int m;
}
void main()
{
     /*int i;*/
     alias Test!(/*i,*/ Bag!(A)).fn func;
}
----
But if you uncomment everything I've commented then it fails. Definitely 
worth a bug report when you have time - http://d.puremagic.com/issues/
-- 
Robert
http://octarineparrot.com/
    
    
More information about the Digitalmars-d-learn
mailing list