On Saturday, 11 August 2012 at 18:51:36 UTC, Henning Pohl wrote:
So the struct is defined as:struct S(T) { } template isS(T) { // ... } static assert(isS(S!float)); static assert(!isS(float));There may be some nasty ways using fullQualifiedName!T and so on but I guess there is a better way, isn't it?
struct S(T) {} template isS(T : S!U, U) { enum isS = true; } template isS(T) { enum isS = false; } static assert(isS!(S!float)); static assert(!isS!float);