=== tests/cases/compiler/genericFunctions3.ts === interface Query { >Query : Query, Symbol(Query, Decl(genericFunctions3.ts, 0, 0)) >T : T, Symbol(T, Decl(genericFunctions3.ts, 0, 16)) foo(x: string): Query; >foo : (x: string) => Query, Symbol(foo, Decl(genericFunctions3.ts, 0, 20)) >x : string, Symbol(x, Decl(genericFunctions3.ts, 1, 8)) >Query : Query, Symbol(Query, Decl(genericFunctions3.ts, 0, 0)) >T : T, Symbol(T, Decl(genericFunctions3.ts, 0, 16)) } function from(arg: boolean): Query; // was Error: Overload signature is not compatible with function definition. >from : (arg: boolean) => Query, Symbol(from, Decl(genericFunctions3.ts, 2, 1), Decl(genericFunctions3.ts, 4, 41)) >T : T, Symbol(T, Decl(genericFunctions3.ts, 4, 14)) >arg : boolean, Symbol(arg, Decl(genericFunctions3.ts, 4, 17)) >Query : Query, Symbol(Query, Decl(genericFunctions3.ts, 0, 0)) >T : T, Symbol(T, Decl(genericFunctions3.ts, 4, 14)) function from(arg: any): Query { >from : (arg: boolean) => Query, Symbol(from, Decl(genericFunctions3.ts, 2, 1), Decl(genericFunctions3.ts, 4, 41)) >T : T, Symbol(T, Decl(genericFunctions3.ts, 5, 14)) >arg : any, Symbol(arg, Decl(genericFunctions3.ts, 5, 17)) >Query : Query, Symbol(Query, Decl(genericFunctions3.ts, 0, 0)) >T : T, Symbol(T, Decl(genericFunctions3.ts, 5, 14)) return undefined; >undefined : undefined, Symbol(undefined) }