=== tests/cases/compiler/genericSpecializationToTypeLiteral1.ts === interface IEnumerable { >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) zip(second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; >zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (...params: any[]): IEnumerable; }, Symbol(zip, Decl(genericSpecializationToTypeLiteral1.ts, 0, 26), Decl(genericSpecializationToTypeLiteral1.ts, 2, 128), Decl(genericSpecializationToTypeLiteral1.ts, 3, 117)) >TResult : TResult, Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 2, 8)) >second : IEnumerable, Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 2, 17)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >resultSelector : (first: T, second: T, index: number) => TResult, Symbol(resultSelector, Decl(genericSpecializationToTypeLiteral1.ts, 2, 40)) >first : T, Symbol(first, Decl(genericSpecializationToTypeLiteral1.ts, 2, 58)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >second : T, Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 2, 67)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >index : number, Symbol(index, Decl(genericSpecializationToTypeLiteral1.ts, 2, 78)) >TResult : TResult, Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 2, 8)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >TResult : TResult, Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 2, 8)) zip(second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; >zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (...params: any[]): IEnumerable; }, Symbol(zip, Decl(genericSpecializationToTypeLiteral1.ts, 0, 26), Decl(genericSpecializationToTypeLiteral1.ts, 2, 128), Decl(genericSpecializationToTypeLiteral1.ts, 3, 117)) >TResult : TResult, Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 3, 8)) >second : T[], Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 3, 17)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >resultSelector : (first: T, second: T, index: number) => TResult, Symbol(resultSelector, Decl(genericSpecializationToTypeLiteral1.ts, 3, 29)) >first : T, Symbol(first, Decl(genericSpecializationToTypeLiteral1.ts, 3, 47)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >second : T, Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 3, 56)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >index : number, Symbol(index, Decl(genericSpecializationToTypeLiteral1.ts, 3, 67)) >TResult : TResult, Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 3, 8)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >TResult : TResult, Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 3, 8)) zip(...params: any[]): IEnumerable; // last one is selector >zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (...params: any[]): IEnumerable; }, Symbol(zip, Decl(genericSpecializationToTypeLiteral1.ts, 0, 26), Decl(genericSpecializationToTypeLiteral1.ts, 2, 128), Decl(genericSpecializationToTypeLiteral1.ts, 3, 117)) >TResult : TResult, Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 4, 8)) >params : any[], Symbol(params, Decl(genericSpecializationToTypeLiteral1.ts, 4, 17)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >TResult : TResult, Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 4, 8)) merge(...params: IEnumerable[]): IEnumerable; >merge : { (...params: IEnumerable[]): IEnumerable; (...params: T[][]): IEnumerable; }, Symbol(merge, Decl(genericSpecializationToTypeLiteral1.ts, 4, 57), Decl(genericSpecializationToTypeLiteral1.ts, 6, 64)) >TResult : TResult, Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 6, 10)) >params : IEnumerable[], Symbol(params, Decl(genericSpecializationToTypeLiteral1.ts, 6, 19)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) merge(...params: T[][]): IEnumerable; >merge : { (...params: IEnumerable[]): IEnumerable; (...params: T[][]): IEnumerable; }, Symbol(merge, Decl(genericSpecializationToTypeLiteral1.ts, 4, 57), Decl(genericSpecializationToTypeLiteral1.ts, 6, 64)) >TResult : TResult, Symbol(TResult, Decl(genericSpecializationToTypeLiteral1.ts, 7, 10)) >params : T[][], Symbol(params, Decl(genericSpecializationToTypeLiteral1.ts, 7, 19)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) concat(...sequences: IEnumerable[]): IEnumerable; >concat : { (...sequences: IEnumerable[]): IEnumerable; (...sequences: T[]): IEnumerable; }, Symbol(concat, Decl(genericSpecializationToTypeLiteral1.ts, 7, 53), Decl(genericSpecializationToTypeLiteral1.ts, 10, 59)) >sequences : IEnumerable[], Symbol(sequences, Decl(genericSpecializationToTypeLiteral1.ts, 10, 11)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) concat(...sequences: T[]): IEnumerable; >concat : { (...sequences: IEnumerable[]): IEnumerable; (...sequences: T[]): IEnumerable; }, Symbol(concat, Decl(genericSpecializationToTypeLiteral1.ts, 7, 53), Decl(genericSpecializationToTypeLiteral1.ts, 10, 59)) >sequences : T[], Symbol(sequences, Decl(genericSpecializationToTypeLiteral1.ts, 11, 11)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) insert(index: number, second: IEnumerable): IEnumerable; >insert : (index: number, second: IEnumerable) => IEnumerable, Symbol(insert, Decl(genericSpecializationToTypeLiteral1.ts, 11, 46)) >index : number, Symbol(index, Decl(genericSpecializationToTypeLiteral1.ts, 13, 11)) >second : IEnumerable, Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 13, 25)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) sequenceEqual(second: IEnumerable): boolean; >sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; }, Symbol(sequenceEqual, Decl(genericSpecializationToTypeLiteral1.ts, 13, 66), Decl(genericSpecializationToTypeLiteral1.ts, 15, 51), Decl(genericSpecializationToTypeLiteral1.ts, 16, 104), Decl(genericSpecializationToTypeLiteral1.ts, 17, 40)) >second : IEnumerable, Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 15, 18)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) sequenceEqual(second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; >sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; }, Symbol(sequenceEqual, Decl(genericSpecializationToTypeLiteral1.ts, 13, 66), Decl(genericSpecializationToTypeLiteral1.ts, 15, 51), Decl(genericSpecializationToTypeLiteral1.ts, 16, 104), Decl(genericSpecializationToTypeLiteral1.ts, 17, 40)) >TCompare : TCompare, Symbol(TCompare, Decl(genericSpecializationToTypeLiteral1.ts, 16, 18)) >second : IEnumerable, Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 16, 28)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >compareSelector : (element: T) => TCompare, Symbol(compareSelector, Decl(genericSpecializationToTypeLiteral1.ts, 16, 51)) >element : T, Symbol(element, Decl(genericSpecializationToTypeLiteral1.ts, 16, 70)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >TCompare : TCompare, Symbol(TCompare, Decl(genericSpecializationToTypeLiteral1.ts, 16, 18)) sequenceEqual(second: T[]): boolean; >sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; }, Symbol(sequenceEqual, Decl(genericSpecializationToTypeLiteral1.ts, 13, 66), Decl(genericSpecializationToTypeLiteral1.ts, 15, 51), Decl(genericSpecializationToTypeLiteral1.ts, 16, 104), Decl(genericSpecializationToTypeLiteral1.ts, 17, 40)) >second : T[], Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 17, 18)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) sequenceEqual(second: T[], compareSelector: (element: T) => TCompare): boolean; >sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; }, Symbol(sequenceEqual, Decl(genericSpecializationToTypeLiteral1.ts, 13, 66), Decl(genericSpecializationToTypeLiteral1.ts, 15, 51), Decl(genericSpecializationToTypeLiteral1.ts, 16, 104), Decl(genericSpecializationToTypeLiteral1.ts, 17, 40)) >TCompare : TCompare, Symbol(TCompare, Decl(genericSpecializationToTypeLiteral1.ts, 18, 18)) >second : T[], Symbol(second, Decl(genericSpecializationToTypeLiteral1.ts, 18, 28)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >compareSelector : (element: T) => TCompare, Symbol(compareSelector, Decl(genericSpecializationToTypeLiteral1.ts, 18, 40)) >element : T, Symbol(element, Decl(genericSpecializationToTypeLiteral1.ts, 18, 59)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >TCompare : TCompare, Symbol(TCompare, Decl(genericSpecializationToTypeLiteral1.ts, 18, 18)) toDictionary(keySelector: (element: T) => TKey): IDictionary; >toDictionary : { (keySelector: (element: T) => TKey): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; }, Symbol(toDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 18, 93), Decl(genericSpecializationToTypeLiteral1.ts, 20, 82), Decl(genericSpecializationToTypeLiteral1.ts, 21, 134)) >TKey : TKey, Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 20, 17)) >keySelector : (element: T) => TKey, Symbol(keySelector, Decl(genericSpecializationToTypeLiteral1.ts, 20, 23)) >element : T, Symbol(element, Decl(genericSpecializationToTypeLiteral1.ts, 20, 37)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >TKey : TKey, Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 20, 17)) >IDictionary : IDictionary, Symbol(IDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 23, 1)) >TKey : TKey, Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 20, 17)) toDictionary(keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; >toDictionary : { (keySelector: (element: T) => TKey): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; }, Symbol(toDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 18, 93), Decl(genericSpecializationToTypeLiteral1.ts, 20, 82), Decl(genericSpecializationToTypeLiteral1.ts, 21, 134)) >TKey : TKey, Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 21, 17)) >TValue : TValue, Symbol(TValue, Decl(genericSpecializationToTypeLiteral1.ts, 21, 22)) >keySelector : (element: T) => TKey, Symbol(keySelector, Decl(genericSpecializationToTypeLiteral1.ts, 21, 31)) >element : T, Symbol(element, Decl(genericSpecializationToTypeLiteral1.ts, 21, 45)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >TKey : TKey, Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 21, 17)) >elementSelector : (element: T) => TValue, Symbol(elementSelector, Decl(genericSpecializationToTypeLiteral1.ts, 21, 65)) >element : T, Symbol(element, Decl(genericSpecializationToTypeLiteral1.ts, 21, 84)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >TValue : TValue, Symbol(TValue, Decl(genericSpecializationToTypeLiteral1.ts, 21, 22)) >IDictionary : IDictionary, Symbol(IDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 23, 1)) >TKey : TKey, Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 21, 17)) >TValue : TValue, Symbol(TValue, Decl(genericSpecializationToTypeLiteral1.ts, 21, 22)) toDictionary(keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; >toDictionary : { (keySelector: (element: T) => TKey): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; }, Symbol(toDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 18, 93), Decl(genericSpecializationToTypeLiteral1.ts, 20, 82), Decl(genericSpecializationToTypeLiteral1.ts, 21, 134)) >TKey : TKey, Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 22, 17)) >TValue : TValue, Symbol(TValue, Decl(genericSpecializationToTypeLiteral1.ts, 22, 22)) >TCompare : TCompare, Symbol(TCompare, Decl(genericSpecializationToTypeLiteral1.ts, 22, 30)) >keySelector : (element: T) => TKey, Symbol(keySelector, Decl(genericSpecializationToTypeLiteral1.ts, 22, 41)) >element : T, Symbol(element, Decl(genericSpecializationToTypeLiteral1.ts, 22, 55)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >TKey : TKey, Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 22, 17)) >elementSelector : (element: T) => TValue, Symbol(elementSelector, Decl(genericSpecializationToTypeLiteral1.ts, 22, 75)) >element : T, Symbol(element, Decl(genericSpecializationToTypeLiteral1.ts, 22, 94)) >T : T, Symbol(T, Decl(genericSpecializationToTypeLiteral1.ts, 0, 22)) >TValue : TValue, Symbol(TValue, Decl(genericSpecializationToTypeLiteral1.ts, 22, 22)) >compareSelector : (key: TKey) => TCompare, Symbol(compareSelector, Decl(genericSpecializationToTypeLiteral1.ts, 22, 116)) >key : TKey, Symbol(key, Decl(genericSpecializationToTypeLiteral1.ts, 22, 135)) >TKey : TKey, Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 22, 17)) >TCompare : TCompare, Symbol(TCompare, Decl(genericSpecializationToTypeLiteral1.ts, 22, 30)) >IDictionary : IDictionary, Symbol(IDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 23, 1)) >TKey : TKey, Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 22, 17)) >TValue : TValue, Symbol(TValue, Decl(genericSpecializationToTypeLiteral1.ts, 22, 22)) } interface IDictionary { >IDictionary : IDictionary, Symbol(IDictionary, Decl(genericSpecializationToTypeLiteral1.ts, 23, 1)) >TKey : TKey, Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 25, 22)) >TValue : TValue, Symbol(TValue, Decl(genericSpecializationToTypeLiteral1.ts, 25, 27)) toEnumerable(): IEnumerable<{ key: TKey; value: TValue }>; >toEnumerable : () => IEnumerable<{ key: TKey; value: TValue; }>, Symbol(toEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 25, 37)) >IEnumerable : IEnumerable, Symbol(IEnumerable, Decl(genericSpecializationToTypeLiteral1.ts, 0, 0)) >key : TKey, Symbol(key, Decl(genericSpecializationToTypeLiteral1.ts, 26, 33)) >TKey : TKey, Symbol(TKey, Decl(genericSpecializationToTypeLiteral1.ts, 25, 22)) >value : TValue, Symbol(value, Decl(genericSpecializationToTypeLiteral1.ts, 26, 44)) >TValue : TValue, Symbol(TValue, Decl(genericSpecializationToTypeLiteral1.ts, 25, 27)) }