=== tests/cases/compiler/genericStaticAnyTypeFunction.ts === class A { >A : A, Symbol(A, Decl(genericStaticAnyTypeFunction.ts, 0, 0)) static one(source: T, value: number): T { >one : (source: T, value: number) => T, Symbol(A.one, Decl(genericStaticAnyTypeFunction.ts, 0, 9)) >T : T, Symbol(T, Decl(genericStaticAnyTypeFunction.ts, 2, 15)) >source : T, Symbol(source, Decl(genericStaticAnyTypeFunction.ts, 2, 18)) >T : T, Symbol(T, Decl(genericStaticAnyTypeFunction.ts, 2, 15)) >value : number, Symbol(value, Decl(genericStaticAnyTypeFunction.ts, 2, 28)) >T : T, Symbol(T, Decl(genericStaticAnyTypeFunction.ts, 2, 15)) return source; >source : T, Symbol(source, Decl(genericStaticAnyTypeFunction.ts, 2, 18)) } static goo() { return 0; } >goo : () => number, Symbol(A.goo, Decl(genericStaticAnyTypeFunction.ts, 6, 5)) >0 : number static two(source: T): T { >two : (source: T) => T, Symbol(A.two, Decl(genericStaticAnyTypeFunction.ts, 7, 30)) >T : T, Symbol(T, Decl(genericStaticAnyTypeFunction.ts, 9, 15)) >source : T, Symbol(source, Decl(genericStaticAnyTypeFunction.ts, 9, 18)) >T : T, Symbol(T, Decl(genericStaticAnyTypeFunction.ts, 9, 15)) >T : T, Symbol(T, Decl(genericStaticAnyTypeFunction.ts, 9, 15)) return this.one(source, 42); // should not error >this.one(source, 42) : T >this.one : (source: T, value: number) => T, Symbol(A.one, Decl(genericStaticAnyTypeFunction.ts, 0, 9)) >this : typeof A, Symbol(A, Decl(genericStaticAnyTypeFunction.ts, 0, 0)) >one : (source: T, value: number) => T, Symbol(A.one, Decl(genericStaticAnyTypeFunction.ts, 0, 9)) >T : T, Symbol(T, Decl(genericStaticAnyTypeFunction.ts, 9, 15)) >source : T, Symbol(source, Decl(genericStaticAnyTypeFunction.ts, 9, 18)) >42 : number } }