TypeScript/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types
2014-08-18 19:56:03 -07:00

51 lines
1.3 KiB
Plaintext

=== tests/cases/compiler/genericFunctionsWithOptionalParameters1.ts ===
interface Utils {
>Utils : Utils
fold<T, S>(c?: Array<T>, folder?: (s: S, t: T) => T, init?: S): T;
>fold : <T, S>(c?: T[], folder?: (s: S, t: T) => T, init?: S) => T
>T : T
>S : S
>c : T[]
>Array : T[]
>T : T
>folder : (s: S, t: T) => T
>s : S
>S : S
>t : T
>T : T
>T : T
>init : S
>S : S
>T : T
}
var utils: Utils;
>utils : Utils
>Utils : Utils
utils.fold(); // no error
>utils.fold() : {}
>utils.fold : <T, S>(c?: T[], folder?: (s: S, t: T) => T, init?: S) => T
>utils : Utils
>fold : <T, S>(c?: T[], folder?: (s: S, t: T) => T, init?: S) => T
utils.fold(null); // no error
>utils.fold(null) : {}
>utils.fold : <T, S>(c?: T[], folder?: (s: S, t: T) => T, init?: S) => T
>utils : Utils
>fold : <T, S>(c?: T[], folder?: (s: S, t: T) => T, init?: S) => T
utils.fold(null, null); // no error
>utils.fold(null, null) : {}
>utils.fold : <T, S>(c?: T[], folder?: (s: S, t: T) => T, init?: S) => T
>utils : Utils
>fold : <T, S>(c?: T[], folder?: (s: S, t: T) => T, init?: S) => T
utils.fold(null, null, null); // no error
>utils.fold(null, null, null) : {}
>utils.fold : <T, S>(c?: T[], folder?: (s: S, t: T) => T, init?: S) => T
>utils : Utils
>fold : <T, S>(c?: T[], folder?: (s: S, t: T) => T, init?: S) => T