2017-06-27 18:14:23 +02:00
|
|
|
/// <reference path='fourslash.ts'/>
|
|
|
|
|
|
|
|
////declare function f<T = boolean, U = string>(x: T, y: U): T;
|
|
|
|
////f<number, string>(/*1*/);
|
|
|
|
////f(/*2*/);
|
|
|
|
////f<number>(/*3*/);
|
|
|
|
////f<number, string, boolean>(/*4*/);
|
|
|
|
|
2018-05-15 21:34:53 +02:00
|
|
|
verify.signatureHelp(
|
|
|
|
{ marker: "1", text: "f(x: number, y: string): number" },
|
2018-08-27 19:30:25 +02:00
|
|
|
{ marker: "2", text: "f(x: boolean, y: string): boolean" },
|
2019-04-04 21:25:15 +02:00
|
|
|
// too few -- fill in rest with unknown
|
|
|
|
{ marker: "3", text: "f(x: number, y: unknown): number" },
|
2018-05-15 21:34:53 +02:00
|
|
|
// too many -- ignore extra type arguments
|
|
|
|
{ marker: "4", text: "f(x: number, y: string): number" },
|
|
|
|
);
|