TypeScript/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types
2015-04-15 16:44:20 -07:00

57 lines
1.4 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
>null : null
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
>null : null
>null : null
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
>null : null
>null : null
>null : null