* Always generate type & symbol baselines * Accept changed shadowed baselines * Accept brand new type and symbol baselines * Allow `getTypeAtLocation` to return undefined in the type writer * Accept baselines which had missing type information * Bind container for dynamically names enum members so they may be printed * Accept type/symbol baselines for enums with computed members * First pass at reducing typeWriter memory overhead * Use generators to allow for type and symbol baselines with no cache * Accept new baselines for tests whose output was fixed by better newline splitting * Hard cap on number of declarations printed, cache declaration print text * handle differing newlines better still to handle RWC newlines * Lower abridging count, accept abridged baselines * Limit max RWC error output size, limit RWC type and symbol baseline input size * Move skip logic into type and symbol baseliner to streamline error handling * Accept removal of empty baselines * Canonicalize path earlier to handle odd paths in input files * Do canonicalization earlier still, also ensure parallel perf profiles for different targets do not trample one another * No need to pathify again
76 lines
1.5 KiB
Plaintext
76 lines
1.5 KiB
Plaintext
=== tests/cases/compiler/genericRestArgs.ts ===
|
|
function makeArrayG<T>(...items: T[]): T[] { return items; }
|
|
>makeArrayG : <T>(...items: T[]) => T[]
|
|
>T : T
|
|
>items : T[]
|
|
>T : T
|
|
>T : T
|
|
>items : T[]
|
|
|
|
var a1Ga = makeArrayG(1, ""); // no error
|
|
>a1Ga : any
|
|
>makeArrayG(1, "") : any
|
|
>makeArrayG : <T>(...items: T[]) => T[]
|
|
>1 : 1
|
|
>"" : ""
|
|
|
|
var a1Gb = makeArrayG<any>(1, "");
|
|
>a1Gb : any[]
|
|
>makeArrayG<any>(1, "") : any[]
|
|
>makeArrayG : <T>(...items: T[]) => T[]
|
|
>1 : 1
|
|
>"" : ""
|
|
|
|
var a1Gc = makeArrayG<Object>(1, "");
|
|
>a1Gc : Object[]
|
|
>makeArrayG<Object>(1, "") : Object[]
|
|
>makeArrayG : <T>(...items: T[]) => T[]
|
|
>Object : Object
|
|
>1 : 1
|
|
>"" : ""
|
|
|
|
var a1Gd = makeArrayG<number>(1, ""); // error
|
|
>a1Gd : any
|
|
>makeArrayG<number>(1, "") : any
|
|
>makeArrayG : <T>(...items: T[]) => T[]
|
|
>1 : 1
|
|
>"" : ""
|
|
|
|
function makeArrayGOpt<T>(item1?: T, item2?: T, item3?: T) {
|
|
>makeArrayGOpt : <T>(item1?: T, item2?: T, item3?: T) => T[]
|
|
>T : T
|
|
>item1 : T
|
|
>T : T
|
|
>item2 : T
|
|
>T : T
|
|
>item3 : T
|
|
>T : T
|
|
|
|
return [item1, item2, item3];
|
|
>[item1, item2, item3] : T[]
|
|
>item1 : T
|
|
>item2 : T
|
|
>item3 : T
|
|
}
|
|
var a2Ga = makeArrayGOpt(1, "");
|
|
>a2Ga : any
|
|
>makeArrayGOpt(1, "") : any
|
|
>makeArrayGOpt : <T>(item1?: T, item2?: T, item3?: T) => T[]
|
|
>1 : 1
|
|
>"" : ""
|
|
|
|
var a2Gb = makeArrayG<any>(1, "");
|
|
>a2Gb : any[]
|
|
>makeArrayG<any>(1, "") : any[]
|
|
>makeArrayG : <T>(...items: T[]) => T[]
|
|
>1 : 1
|
|
>"" : ""
|
|
|
|
var a2Gc = makeArrayG<any[]>(1, ""); // error
|
|
>a2Gc : any
|
|
>makeArrayG<any[]>(1, "") : any
|
|
>makeArrayG : <T>(...items: T[]) => T[]
|
|
>1 : 1
|
|
>"" : ""
|
|
|