=== tests/cases/compiler/transitiveTypeArgumentInference1.ts === interface I1 { >I1 : I1 >T : T >U : U m(value: T): U; >m : (value: T) => U >value : T >T : T >U : U } var i: I1 = null; >i : I1 >I1 : I1 >null : null class C { >C : C >T : T constructor(p: I1) { >p : I1 >I1 : I1 >T : T } } var c = new C(i); >c : C >new C(i) : C >C : typeof C >i : I1