interface or class type
T if it is an interface. If T is a class, interface it implements.
interface I1 { } class A : I1 { } interface I2 { } class B : I1, I2 { } static assert(is(baseInterface!I1 == I1)); static assert(is(baseInterface!A == I1)); static assert(!is(typeof(baseInterface!B)));
Deduces single base interface for a type. Multiple interfaces will result in compile-time error.