/// ////function foo(x: T, y: U): (a: U) => T { //// var z = y; //// return (z) => x; ////} ////var /*2*/r = foo(/*1*/1, ""); ////var /*4*/r2 = r(/*3*/""); verify.signatureHelp({ marker: "1", text: "foo(x: number, y: string): (a: string) => number" }); verify.quickInfoAt("2", "var r: (a: string) => number"); verify.signatureHelp({ marker: "3", text: "r(a: string): number" }); verify.quickInfoAt("4", "var r2: number");