=== tests/cases/conformance/types/typeRelationships/recursiveTypes/nominalSubtypeCheckOfTypeParameter2.ts ===
interface B<T> {
>B : B<T>
>T : T

    bar: T;
>bar : T
>T : T
}

// ok
interface A<T> extends B<T> {
>A : A<T>
>T : T
>B : B<T>
>T : T

    foo: T;
>foo : T
>T : T
}

// ok
interface A2<T> extends B<B<string>> {
>A2 : A2<T>
>T : T
>B : B<T>
>B : B<T>

    baz: T;
>baz : T
>T : T
}

interface C<T> {
>C : C<T>
>T : T

    bam: T;
>bam : T
>T : T
}

// ok
interface A3<T> extends B<C<T>> {
>A3 : A3<T>
>T : T
>B : B<T>
>C : C<T>
>T : T

    bing: T;
>bing : T
>T : T
}
