// https://issues.dlang.org/show_bug.cgi?id=21975 struct Outer(T) { Inner!T inner; alias inner this; } struct Inner(T) { T t; } static assert(is(Outer!int : Inner!int)); // ok static assert(is(Outer!int : Inner!T, T)); // needs to compile