template isType( T ) { enum isType = true; } template isType( alias T ) { enum isType = false; } struct S { alias int foo; } static assert( isType!S ); // fails Testing shows that the latter isType definition is chosen.
Why is this a bug?
*** This issue has been marked as a duplicate of issue 1659 ***