=== tests/cases/conformance/types/typeParameters/typeParameterLists/typeParametersAvailableInNestedScope.ts === class C { >C : C >T : T data: T; >data : T >T : T x = (a: U) => { >x : (a: U) => T >(a: U) => { var y: T; return y; } : (a: U) => T >U : U >a : U >U : U var y: T; >y : T >T : T return y; >y : T } foo() { >foo : () => T function temp(a: U) { >temp : (a: U) => T >U : U >a : U >U : U var y: T; >y : T >T : T return y; >y : T } return temp(null); >temp(null) : T >temp : (a: U) => T >null : T >T : T >null : null } } var c = new C(); >c : C >new C() : C >C : typeof C c.data = c.x(null); >c.data = c.x(null) : number >c.data : number >c : C >data : number >c.x(null) : number >c.x : (a: U) => number >c : C >x : (a: U) => number >null : null c.data = c.foo(); >c.data = c.foo() : number >c.data : number >c : C >data : number >c.foo() : number >c.foo : () => number >c : C >foo : () => number