=== tests/cases/compiler/specializeVarArgs1.ts === interface Observable{ } >Observable : Observable, Symbol(Observable, Decl(specializeVarArgs1.ts, 0, 0)) >T : T, Symbol(T, Decl(specializeVarArgs1.ts, 0, 21)) interface ObservableArray extends Observable >ObservableArray : ObservableArray, Symbol(ObservableArray, Decl(specializeVarArgs1.ts, 0, 26)) >T : T, Symbol(T, Decl(specializeVarArgs1.ts, 4, 26)) >Observable : Observable, Symbol(Observable, Decl(specializeVarArgs1.ts, 0, 0)) >T : T, Symbol(T, Decl(specializeVarArgs1.ts, 4, 26)) { push(...values: T[]); >push : (...values: T[]) => any, Symbol(push, Decl(specializeVarArgs1.ts, 6, 1)) >values : T[], Symbol(values, Decl(specializeVarArgs1.ts, 8, 9)) >T : T, Symbol(T, Decl(specializeVarArgs1.ts, 4, 26)) } function observableArray(): ObservableArray { return null;} >observableArray : () => ObservableArray, Symbol(observableArray, Decl(specializeVarArgs1.ts, 10, 1)) >T : T, Symbol(T, Decl(specializeVarArgs1.ts, 14, 25)) >ObservableArray : ObservableArray, Symbol(ObservableArray, Decl(specializeVarArgs1.ts, 0, 26)) >T : T, Symbol(T, Decl(specializeVarArgs1.ts, 14, 25)) >null : null var a = observableArray(); >a : ObservableArray, Symbol(a, Decl(specializeVarArgs1.ts, 18, 3)) >observableArray() : ObservableArray >observableArray : () => ObservableArray, Symbol(observableArray, Decl(specializeVarArgs1.ts, 10, 1)) a.push('Some Value'); >a.push('Some Value') : any >a.push : (...values: string[]) => any, Symbol(ObservableArray.push, Decl(specializeVarArgs1.ts, 6, 1)) >a : ObservableArray, Symbol(a, Decl(specializeVarArgs1.ts, 18, 3)) >push : (...values: string[]) => any, Symbol(ObservableArray.push, Decl(specializeVarArgs1.ts, 6, 1)) >'Some Value' : string