// Compiler options: -t:library public class G<T> where T : G<T>.GPD { public interface IGD { } public class GPD : IGD { public T GT; public void Foo () { } } } public class H<T> { public class N<U, V> where U : H<T> where V : H<T>.M<V> { } public class M<X> { } }